달력

4

« 2024/4 »

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

# 필요한 것들

1. MySql, Oracle, MSSQL 등등의 DB
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#)
2. 1번에서 확인한 사항을 바탕으로 DTO(Member.java)를 생성한다.
    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"/>
4. SqlMapConfigExample.properties 파일을 생성한다.
   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>
6. compile
    $ 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


# 주의사항
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
:
Posted by 뽀기