[Mybatis] 간단한 마이바티스 CRUD 예제

 

mybatis-3.1.1.jar mybatis-3.1.1.jar

폴더구조

 

1. config.xml

mybatis 기본적인 설정파일 - 별칭정보, DB정보, , 맵퍼를 정의

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

	<typeAliases>
		<typeAlias alias="Person" type="com.vo.Person" />
	</typeAliases>

	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<!-- connecting to Local MySql -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/test" />
				<property name="username" value="****" />
				<property name="password" value="****" />
			</dataSource>
		</environment>
	</environments>

	<mappers>
		<mapper resource="com/mybatis/mapper/PersonMapper.xml" />
	</mappers>

</configuration>

 

2. MyBatisConnectionFactory.java

설정파일을 읽어서 Mybatis를 사용하게 해주는 녀석!

package com.mybatis;
 
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 MyBatisConnectionFactory {
 
    private static SqlSessionFactory sqlSessionFactory;
 
    static {
        try {
            String resource = "com/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;
    }
}

 

3. Person.java

package com.vo;

public class Person {

	private int id;
	private String name;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String toString() {
		return "id: " + id + " Name: " + name;
	}

}

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

4. PersonMapper.xml

이곳에 SQL쿼리문을 작성해준다

※Insert에 useGeneratedKyes="true" , KeyProperty="" 를 설정해 주면 insert한 키 값을 얻어 올 수 있음

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="com.dao.PersonDAO">

    <resultMap id="result" type="Person">
        <result property="id" column="id"/>
        <result property="name" column="name"/>   
    </resultMap>
 
    <select id="selectAll" resultMap="result">
        SELECT * FROM persons;
    </select>
    
 	<select id="selectById" parameterType="int" resultMap="result">
        SELECT * FROM persons WHERE id = #{id}
    </select>
    
 	<insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="list_id">
        INSERT INTO persons (name) VALUES (#{name});
    </insert>
    
    <update id="update" parameterType="Person">
        UPDATE persons
        SET name = #{name}
        WHERE id = #{id} 
  	</update>
 
	<delete id="delete" parameterType="int">
        DELETE from persons WHERE id = #{id}
    </delete>
    
</mapper>

 

5. PersonDAO.java

mapper에 있는 쿼리정보와 1:1 매칭

package com.dao;

import java.util.List;

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

import com.vo.Person;

public interface PersonDAO {

	public List selectAll(); // 모든 행 가져오기

	public Person selectById(int id); // 특정한 행 가져오기

	public int insert(Person person); // 삽입

	public void update(Person person); // 업데이트

	public void delete(int id); // 삭제

}

 

6. Main.java

package com.main;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.mybatis.MyBatisConnectionFactory;
import com.dao.PersonDAO;
import com.vo.Person;

public class Main {
	public static void main(String args[]) {

		// Mybatis 세션연결
		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSessionFactory()
				.openSession(true);
		
		// Mapper 연결
		PersonDAO person = sqlSession.getMapper(PersonDAO.class);

		// Select
		List persons = null;
		persons = person.selectAll();
		for (int i = 0; i < persons.size(); i++) {
			System.out.println("Person Name : " + persons.get(i).getName());
		}

		// Insert
		Person p = new Person();
		p.setName("테스터");
		person.insert(p);
		System.out.println("return key : " + p.getId());

		// update
		p.setId(14);
		p.setName("Terry");
		person.update(p);
		System.out.println("return key : " + p.getId());

		// Delete
		p.setId(16);
		person.delete(p.getId());
		System.out.println("return key : " + p.getId());
	}
}

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
18 스프링(Spring) 프레임워크 기본 개념 강좌 (7) - Patterns 졸리운_곰 2017.10.02 262
17 스프링(Spring) 프레임워크 기본 개념 강좌 (6) - Dynamic Proxy 졸리운_곰 2017.10.02 257
16 스프링(Spring) 프레임워크 기본 개념 강좌 (5) - AOP Proxy file 졸리운_곰 2017.10.02 309
15 스프링(Spring) 프레임워크 기본 개념 강좌 (4) - AOP file 졸리운_곰 2017.10.02 288
14 스프링(Spring) 프레임워크 기본 개념 강좌 (3) - IoC file 졸리운_곰 2017.10.02 379
13 스프링(Spring) 프레임워크 기본 개념 강좌 (2) - 주요 구성 요소 & DI file 졸리운_곰 2017.10.02 322
12 스프링(Spring) 프레임워크 기본 개념 강좌 (1) - 스프링 이해하기 file 졸리운_곰 2017.10.02 573
11 Spring - IoC & DI file 졸리운_곰 2017.10.02 238
10 MyBatis 기본 - selectList file 졸리운_곰 2016.06.07 493
9 Mybatis ResultMap 그리고 select 졸리운_곰 2016.06.07 424
8 Cliche Command-Line Shell file 졸리운_곰 2015.07.12 726
7 [스프링] 스프링 Java 어노테이션 file 졸리운_곰 2014.06.11 960
6 [스프링] 스프링 MVC 졸리운_곰 2014.06.11 533
5 [스프링] 어노테이션 졸리운_곰 2014.06.11 1033
4 [Spring] @Autowired 와 Java Spring 졸리운_곰 2014.01.29 1332
3 [Spring] 내가 Spring을 사랑하는 다섯 가지 이유 file 가을의 곰을... 2013.12.22 970
2 [Spring] VO 객체의 복사 가을의 곰을... 2013.11.26 4289
1 [Spring] Spring MVC Basics file 가을의 곰을... 2013.10.09 918
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED