Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
组件包含的主要类和接口:
DbUtils类:启动类
ResultSetHandler接口:转换类型接口
MapListHandler类:实现类,把记录转化成List
BeanListHandler类:实现类,把记录转化成List,使记录为JavaBean类型的对象
Qrery Runner类:执行SQL语句的类
下面是组件中DbUtils类和BeanListHandler类的详细用法的例子:
GuestBook.java源文件
package com.gdufs.xxy;
public class GuestBook {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public String getName() {
return name;
}
public void setId(Integer id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
}
BeanListExample.java类文件
package com.gdufs.xxy;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
public class BeanListExample {
public static void main(String[] args) {
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/test";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String password = "520134";
DbUtils.load(driver);
try {
conn = DriverManager.getConnection(url,user,password);
QueryRunner qr = new QueryRunner();
List results = (List)qr.query(conn,"select id,name from guestbook",new BeanListHandler(GuestBook.class));
for(int i=0;i<results.size(); i++) {
GuestBook gb = (GuestBook)results.get(i);
System.out.println("id:"+gb.getId()+";name:"+gb.getName());
}
}
catch(SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
}
}
接下来,需要添加commons-dbutils-1.1.jar和mysql-connector-java-5.1.6-bin.jar两个jar包,上面的两个源文件就可以编译执行了.
MapListHandler类与BeanListHandler类的用法类似, 这里就不重复了.