http://yshmac.tistory.com/4

 

(1) 프로젝트 구조


(2) Mybatis와 Database 설정 파일

db.properties

- 데이터베이스에 대한 정보

 driver=org.mariadb.jdbc.Driver
 url=jdbc:mariadb://localhost:3306/chat
 username=root
 password=비밀번호

mybatis-config.xml

마이바티스 설정 정보

(2) Mapper

select, insert, update, delete에 대한 쿼리

(3) VO, DAO

MemberVO.java

package com.ysh.vo;

public class MemberVO {
	
	public String email;
	public String password;
	public String name;
	
	public MemberVO() {
		super();
	}

	public MemberVO(String email, String password, String name) {
		super();
		this.email = email;
		this.password = password;
		this.name = name;
	}
	
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}

MemberDAO.java

package com.ysh.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import com.ysh.vo.MemberVO;

public class MemberDAO {

	private SqlSessionFactory sqlSessionFactory = null;

	public MemberDAO(SqlSessionFactory sqlSessionFactory) {
		this.sqlSessionFactory = sqlSessionFactory;
	}
	
	public int insertMember(MemberVO memberVO) {
		int id = -1;
		SqlSession session = sqlSessionFactory.openSession();
		
		try {
			id = session.insert("member.insert", memberVO);
		} finally {
			session.commit();
			session.close();
		}
		System.out.println("insert("+memberVO+") --> "+memberVO.getEmail());
		System.out.println(memberVO.getName());
		return id;
	}
	
	public List selectAll() {
		List list = null;
		SqlSession session = sqlSessionFactory.openSession();
		
		try {
			list = session.selectList("member.selectAll");
		} finally {
			session.close();
		}
		System.out.println(list);
		return list;
	}
	
	public MemberVO selectOne(String email) {
		MemberVO member = null;
		SqlSession session = sqlSessionFactory.openSession();
		
		try {
			member = session.selectOne("member.selectOne", email);
		} finally {
			session.close();
		}
		System.out.println("select" + member.getEmail());
		return member;
	}
	
	public void update(MemberVO memberVO) {
		
		int id = -1;
		SqlSession session = sqlSessionFactory.openSession();
		
		try {
			id = session.update("member.update", memberVO);
		} 
		finally {
			session.commit();
			session.close();
		}
	}
	
	public void delete(String email) {
		SqlSession session = sqlSessionFactory.openSession();
		
		try {
			session.delete("member.delete", email);
		} 
		finally {
			session.commit();
			session.close();
		}
	}

}

(4) ConnectionFactory

ConnectionFactory.java

package com.ysh.config;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class ConnectionFactory {
	
	private static SqlSessionFactory sqlSessionFactory;
	
	static {
		try {
			String resource = "com/ysh/config/mybatis-config.xml";
			Reader reader = Resources.getResourceAsReader(resource);
			
			if (sqlSessionFactory == null) {
				sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
			}
		} catch(FileNotFoundException fileNotFoundException) {
			fileNotFoundException.printStackTrace();
		} catch(IOException ioException) {
			ioException.printStackTrace();
		}
	}
	public static SqlSessionFactory getSqlSessionFactory() {
		return sqlSessionFactory;
	}
}




http://yshmac.tistory.com/4

+ Recent posts