Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ajax
- 명사 추출기
- Eclipse
- scala
- Lift
- 명사 분석기
- php
- flex3
- 베트남어
- 도커
- php thumbnail
- Node.js
- docker
- ror실행
- C/C++
- 나의 취미
- Cross
- 명사 뽑아내기
- 주식이야기
- node.js web framework
- rss
- 나의 프로젝트
- nodejs express
- 스킨 스쿠버
- express for node.js
- ejb
- 메일왕창보내는법
- 책이야기
- 디즈니씨
- iBatis
Archives
- Today
- Total
nkdk의 세상
iBatis 예제 따라하기~! 본문
iBatis를 해보고자 예제 실습을 따라했다.
# 필요한 파일
1. Member.xml
2. SqlMapConfigExample.properties
3. SqlMapConfigExample.xml
4. Member.java
5. MemberApp.java
2. SqlMapConfigExample.properties
3. SqlMapConfigExample.xml
4. Member.java
5. MemberApp.java
# 필요한 것들
1. MySql, Oracle, MSSQL 등등의 DB
2. 1번 DB에 접속할 수 있는 접속 정보(URL, ID, PASSWD, DB Name 등등)
2. 1번 DB에 접속할 수 있는 접속 정보(URL, ID, PASSWD, DB Name 등등)
# 실습 순서
1. DB에 접속하여 Member table의 schema를 확인한다
SQL> desc MEMBER
(#id#, #passwd#, #name#, #jumin1#, #jumin2#, #email#, #url#, #addr#, #tel_no#, #regdate#)
SQL> desc MEMBER
(#id#, #passwd#, #name#, #jumin1#, #jumin2#, #email#, #url#, #addr#, #tel_no#, #regdate#)
2. 1번에서 확인한 사항을 바탕으로 DTO(Member.java)를 생성한다.
private String id;
... 중략...
private String regdate;
public String getId() {
return id;
}
...중략...
public void setId(String id) {
this.id = id;
}
....중략...
private String id;
... 중략...
private String regdate;
public String getId() {
return id;
}
...중략...
public void setId(String id) {
this.id = id;
}
....중략...
3. SqlMapConfigExample.xml 파일을 만든다.
<properties resource="SqlMapConfigExample.properties"/>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMap resource="Member.xml"/>
<properties resource="SqlMapConfigExample.properties"/>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMap resource="Member.xml"/>
4. SqlMapConfigExample.properties 파일을 생성한다.
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jsptest
username=lucky
password=lucky
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jsptest
username=lucky
password=lucky
5. Member.xml 파일을 생성하여 select, insert, update, delete 를 실행하기 위한 query를 정의한다.
<select id="getMember" resultClass="Member">
SELECT ID, PASSWD, NAME, JUMIN1, ...중략... WHERE ID = #value#
</select>
<insert id="insertMember" parameterClass="Member">
INSERT INTO MEMBER(ID, ...중략...) VALUES(#id#, ...중략...)
</insert>
<update id="updateMember" parameterClass="Member">
UPDATE MEMBER ...중략...
</update>
<delete id="deleteMember" parameterClass="Member">
DELETE ...중략...
</delete>
<select id="getMember" resultClass="Member">
SELECT ID, PASSWD, NAME, JUMIN1, ...중략... WHERE ID = #value#
</select>
<insert id="insertMember" parameterClass="Member">
INSERT INTO MEMBER(ID, ...중략...) VALUES(#id#, ...중략...)
</insert>
<update id="updateMember" parameterClass="Member">
UPDATE MEMBER ...중략...
</update>
<delete id="deleteMember" parameterClass="Member">
DELETE ...중략...
</delete>
6. compile
$ javac -classpath .;..\..\..\lib\ibatis-2.3.0.677.jar *.java
$ javac -classpath .;..\..\..\lib\ibatis-2.3.0.677.jar *.java
7. run
$ java -classpath .;..\..\..\lib\ibatis-2.3.0.677.jar;..\..\..\lib\mysql-connector-java-5.0.4-bin.jar MemberApp
$ java -classpath .;..\..\..\lib\ibatis-2.3.0.677.jar;..\..\..\lib\mysql-connector-java-5.0.4-bin.jar MemberApp
# 주의사항
MemberApp.java 소스 중에
String resource = "SqlMapConfigExample.xml";
Reader reader = Resources.getResourceAsReader(resource);
이런 내용이 있는데, Resources.getResourceAsReader() 이 method가
resource를 classloader 기준으로 찾기 때문에
위의 xml 파일들이 class 파일이 위치한 곳에 같이 있어야 한다.
처음에 eclipse 에서 해보려고, package 만들어서 class 만들고 xml 파일은 다른 폴더에 저장하고 별~~ 삽질을 다 해봤으나 계속 "Could not found resource" 라는 exception만 뱉어냈었다.
eclipse에서의 문제 해결은 못하고, 우선 실행을 해봐야겠기에 전부 한 폴더에 몰아놓고 테스트 했다.
끝
MemberApp.java 소스 중에
String resource = "SqlMapConfigExample.xml";
Reader reader = Resources.getResourceAsReader(resource);
이런 내용이 있는데, Resources.getResourceAsReader() 이 method가
resource를 classloader 기준으로 찾기 때문에
위의 xml 파일들이 class 파일이 위치한 곳에 같이 있어야 한다.
처음에 eclipse 에서 해보려고, package 만들어서 class 만들고 xml 파일은 다른 폴더에 저장하고 별~~ 삽질을 다 해봤으나 계속 "Could not found resource" 라는 exception만 뱉어냈었다.
eclipse에서의 문제 해결은 못하고, 우선 실행을 해봐야겠기에 전부 한 폴더에 몰아놓고 테스트 했다.
끝