2008. 1. 22. 17:23
iBatis 예제 따라하기~! 그거/Tech2008. 1. 22. 17:23
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에서의 문제 해결은 못하고, 우선 실행을 해봐야겠기에 전부 한 폴더에 몰아놓고 테스트 했다.
끝
'그거 > Tech' 카테고리의 다른 글
Velocity 따라하기 - 1번 예제 - (0) | 2008.01.31 |
---|---|
iBatis 따라하기 2 (중고차 정보) (0) | 2008.01.23 |
[JDK 1.4 VS JDK 1.5] Boolean.TRUE 와 true (0) | 2007.11.05 |
[Network] OSI 7 Layer (0) | 2007.10.31 |
Tomcat에서 JDBC driver 설정~! (0) | 2007.10.22 |