[Java] Custom JDBC Driver mybatis 연동 시 주의사항.

ITWeb/개발일반 2014. 7. 7. 18:29

주의사항이라고 까지 할건 없지만.

제가 경험한 내용을 공유 차원에서 올려 봅니다.


처음에 elasticsearch 용 jdbc driver 를 만들고 나서 그냥 생으로..


[java.sql.* 로 코딩]

Connection conn = null;

EsStatement stmt = null;


Class.forName("com.gruter.elasticsearch.jdbc.EsDriver");

conn = DriverManager.getConnection("jdbc:es://localhost:9300/henry?......", ".....", ".....");

stmt = (EsStatement) conn.createStatement();


String sql = "select * from transactions where buyer_id='henry' and item_category in ('1A', '8A')  and price > 20000 order by reg_dt desc limit 0, 20";

ResultSet rs = stmt.executeQuery(sql);


while (rs.next()) {

    int tx_id = rs.getInt("tx_id");

    String buyer_id = rs.getString("buyer_id");

    System.out.println("tx_id : " + tx_id + ", buyer_id : " + buyer_id);

}


rs.close();

stmt.close();

conn.close();


이렇게 하면 잘 됩니다.

근데 mybatis를 이용해서 하니까 에러가 발생을 하더라구요.

에러를 확인해보니.. 제가 jdbc driver 를 덜 구현해 줬더라구요.

위에 처럼 할 경우 ResultSetMetaData 구현을 안해도 동작 하는데 문제가 없는데 mybatis 랑 쓸려면 구현을 꼭 해주셔야 합니다.


참고하세요 ㅎㅎ.

: