'Framework/Mybatis'에 해당되는 글 2건

  1. Mybatis를 이용한 간단한 CRUD(Create, Read, Update, Delete) 1
  2. Mybatis Setting (With Gradle)

Mybatis를 이용한 간단한 CRUD(Create, Read, Update, Delete)

(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;
	}
}





'Framework > Mybatis' 카테고리의 다른 글

Mybatis Setting (With Gradle)  (0) 2014.07.23

Mybatis Setting (With Gradle)

OS >> Mac OS X Mavericks

IDE >> Spring Tool Suite

Java Version >> 1.8

DB >> MairaDB


(1) Eclipse에 Gradle 설치하기

Spring Dashboard에서 오른쪽 아래 Manage - IDE EXTENSIONS 를 클릭 후 Gradle을 검색하면 플러그인을 설치할 수 있다.


(2) Gradle Project 만들기

New Project 선택 후 Wizard에 gradle을 검색하면 Gradle Project를 만들 수 있다.

프로젝트 이름을 정한 후 Sample Project를 Java Quickstart로 지정한다.

(3) Mybatis 와 MariaDB 라이브러리 추가하기

프로젝트 생성 후 Project Explorer에 build.gradle 이란 파일이 생성된다.

Maven으로 치면 pom.xml과 같은 곳이므로 의존성을 추가해준다.


build.gradle

apply plugin: 'java'
apply plugin: 'eclipse'

sourceCompatibility = 1.5
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
    
    compile 'org.mybatis:mybatis:3.1.1'
    compile 'org.mariadb.jdbc:mariadb-java-client:1.1.7'
    compile 'org.slf4j:slf4j-log4j12:1.7.6'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}


dependencies 에 mybatis, mariadb, slf4j를 추가한다.


프로젝트를 우 클릭 후 Gradle - Refresh Dependencies를 클릭하면 자동으로 Gradle Dependencies가 생성되고 Maven Repository로 부터 라이브러리를 다운 받는다.

아래와 같이 추가된 라이브러리를 확인할 수 있다.

다음엔 Java로 Mybatis를 이용하여 간단한 CRUD 를 작성해보겠다.