웹쪽 개발팀 소스를 잠깐 보게 되었는데.. 접근이 쉽지가 않다..
개발환경도 다르고..
뭐하나 보려고 해도, 실행도 안된다. -_-;;
오기가 생겨 몇가지 내용을 정리해 본다..
하지만....
웹 프로그래밍은 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 |