출처 : http://www.okjsp.pe.kr/bbs?act=VIEW&bbs=bbs4&keyfield=content&keyword=&seq=48115&pg=0

jakarta commons DbUtils 간단한 사용법

Commons DbUtils : 데이터베이스 사용에 있어서 단순노가다로 이루어지던 많은 작업을 편리하게 해준다. 그동안 "이거 귀찮은데 유틸로 뽑아놓을까?" 아니면 "우씨~ 이런 노가다" 하던 부분이 한방에 해결됐다. 단순한 유틸 패키지이기에 사용법도 간단하고 편리하다.


//1. JDBC 드라이버 로딩을 간략화(로딩 성공시 true 반환)

        if (!DbUtils.loadDriver("com.mysql.jdbc.Driver")) {

            System.out.println("Failed Loading JDBC Driver!");
            System.exit(0);

        }


//2. Connection, ResultSet, Statement 등의 close를 간단하게

(null 확인 - > 예외처리의 과정을 간단하게)
        DbUtils.closeQuietly(connection);


//3. QueryRunner - 쿼리문 수행

- SELECT

query(Connection conn, String sql, ResultSetHandler rsh)

query(Connection conn, String sql, Object param, ResultSetHandler rsh)

query(Connection conn, String sql, Object[] params, ResultSetHandler rsh) 등

param은 PreparedStatement의 ?에 해당 .. 2개 이상은 배열을 만들어서 전달


- INSERT, UPDATE, DELETE의

int update(Connection conn, String sql)

int update(Conneciton conn, String sql, Object param) 등

executeUpdate()와 사용법 동일


//4. ResultSetHandler - 빈이나 맵을 만들어서 ResultRet에서 읽어들여 넣어주는 노가다여 안녕~!

BeanHandler, BeanListHandler, MapHandler, MapListHandler


예)

String query = "SELECT * FROM user WHERE name = ?";

User user = null;

ResultSetHandler rsh = new BeanHandler(User.class);

QueryRunner runner = new QueryRunner();

user = (User) runner.query(conn, query, "홍길동", rsh);


-----------

import java.sql.*;
import org.apache.commons.dbutils.DbUtils;


public class CommonsDBUtilExample {
    public static void main(String[] args) {
        Connection connection = null;
        String url = "jdbc:mysql://localhost/mysql";
        String user = "root";
        String password = "";

        if (!DbUtils.loadDriver("com.mysql.jdbc.Driver")) {
           System.out.println("Failed Loading JDBC Driver!");
           System.exit(0);
        }

        try {
            connection = DriverManager.getConnection(url, user, password);
            System.out.println("Connection successful!!");
            Statement select = connection.createStatement();
   ResultSet rs = select.executeQuery("select * from user");
   while (rs.next()) {
    System.out.println(rs.getString(1));
   }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DbUtils.closeQuietly(connection);
        }
    }
}
------------


그냥 사용법 까먹지 않기위해 Blog에 적어둔거 올려봅니다. Jakarta Project 책에서 많이 참고했습니다.

Posted by 나비 나비:D

BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
----------------------------- (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

글 보관함

달력

«   2018/07   »
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        
Total : 959,032
Today : 80 Yesterday : 129