본문 바로가기

프로그래밍/Web

[MyBatis] 기본 사용법

웹쪽 개발팀 소스를 잠깐 보게 되었는데.. 접근이 쉽지가 않다..

개발환경도 다르고.. 

뭐하나 보려고 해도, 실행도 안된다. -_-;;

 

오기가 생겨 몇가지 내용을 정리해 본다..

 

하지만.... 

 

웹 프로그래밍은 html 이외엔 해보질 못했으니 뭔가 깔끔하게 이해가 안간다.....

특히 외부 파라미터를 정의 후 그냥 적어주면 알아서 데이터가 들어간다는게.... -_-;;;

getter, setter 를 알아서 부른다는 건지.... 

 

c개발자로서 무언가 꺼림칙하다.

 

 

사이트 : http://mybatis.org/

 

음. 관계형 데이터베이스를 쉽게 사용하기 위한 데이터 맵퍼.

현재 3.1.1 버전이 최신.

 

개발환경은 이클립스 Java EE

 

1. mybatis-3.1.1.jar 프로젝트에 추가

 

2. Java Resources/resources 하위에 db.properties 작성

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://xxx.xxx.xxx.xxx:xxxx

username=

password=

 

3. Configuration.xml 작성

<?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>

<properties resource="db.properties"/>

 

<environments default="development">

<environment id="development">

<transactionManager type="JDBC"/>

<dataSource type="POOLED">

<property name="driver" value="${driver}"/>

<property name="url" value="${url}"/>

<property name="username" value="${username}"/>

<property name="password" value="${password}"/>

</dataSource>

</environment>

</environments>

 

<mappers>

<mapper resource="QueryMapper.xml"/>

</mappers>

</configuration>

 

4. 쿼리용 맵퍼 작성 QueryMapper.xml

매퍼 이름 정하고, 각 sql  명령에 따라 id resultType 정의

parameterType 은 입력될 데이터,

resultType은 쿼리 후 결과를 위한 데이터이다.

 

파라미터의 값은 #{이름}

파라미터 명의 ${이름}

 

<?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="query">

<select id="select" resultType="int">

select 1 from dual

</select>

<select id="deviceSelect" resultType="com.test.app.MyParam">

select id, name, value from device_usage

</select>

.

.

</mapper>

 

 

5. 맵퍼에 등록된 파라미터 type 클래스 작성

 

class MyParam {

   private int id;

   private String name;

   private String value;

 

   public int getId() {

      return id;

   }

 

   public void setId(int id) {

      this.id = id;

   }

   

       .

       .

};

 

6. DB 연결을 위한 클래스 작성

public class MySqlConn {

   private SqlSessionFactory factory = null;

 

   public MySqlConn() {

      try {

         Reader r = Resources.getResourceAsReader("Configuration.xml");

         SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

         factory = builder.build(r);

         r.close();

      } catch( IOException e) {

       

      }

   }

 

   public SqlSession openSession() {

      return factory.openSession();

   }

}

 

 

7. 실제 데이터를 쿼리

 

MySqlConn sql = new MySqlConn();

SqlSession session = sql.openSession();

 

List<MyParam> list = ss.selectList("query.deviceSelect");

 

session.close();

'프로그래밍 > Web' 카테고리의 다른 글

Gradle Wrapper  (0) 2017.03.06
스프링 요청/응답  (0) 2017.02.26
JPA 쿼리 이것저것  (0) 2017.02.22
[spring] 프로퍼티 값 읽기  (0) 2017.02.21
[spring] 핸들러 인터셉터  (0) 2017.01.24
[spring] Spring boot 기본 설정  (0) 2017.01.24
[spring] batch 작업관련 요소들  (0) 2012.09.28
[spring] JAVA코드 테스트를 위한 Spring설정  (0) 2012.09.25
톰캣  (0) 2012.05.10
[spring] dispatch servlet 기본  (0) 2011.05.13