dbutils是一个开源的JDBC工具类库,封装了针对于数据库的增删改查
以下是关于dbutils的一些使用
测试插入:
//测试插入
@Test
public void testInsert() throws Exception{
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnection2();
String sql = "insert into customers(name,email,birth)values(?,?,?)";
int insertCount = runner.update(conn,sql,"肖战","xz@qq.com","1997-09-08");
System.out.println("添加了" + insertCount +"条记录");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
}
测试查询:
/*
* BeanHandler是ResultSetHandler接口的实现类,用于封装表中的一条记录
*/
//测试查询
@Test
public void testQuery1() {
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnection2();
String sql = "select id,name,email,birth from customers where id = ?";
BeanHandler<Customer> handler = new BeanHandler<>(Customer.class);
Customer customer = runner.query(conn,sql,handler,22);
System.out.println(customer);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
}
查询2:
/*
* 用于封装表中的多条记录构成的集合
*/
@Test
public void testQuery2() {
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnection2();
String sql = "select id,name,email,birth from customers where id < ?";
BeanListHandler<Customer> handler = new BeanListHandler<>(Customer.class);
List<Customer> list = runner.query(conn,sql,handler,20);
list.forEach(System.out::println);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
}
查询3:
/*
* MapHandler是ResultSetHandler接口的实现类,用于封装表中的一条记录
* 将字段及相应字段的集作为map中的key和value
*/
//测试查询
@Test
public void testQuery3() {
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnection2();
String sql = "select id,name,email,birth from customers where id = ?";
MapHandler handler = new MapHandler();
Map<String, Object> map = runner.query(conn,sql,handler,22);
System.out.println(map);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
}
查询4:
/*
* MapListHandler是ResultSetHandler接口的实现类,用于封装表中的多条记录
* 将字段及相应字段的集作为map中的key和value
*/
//测试查询
@Test
public void testQuery4() {
Connection conn = null;
try {
QueryRunner runner = new QueryRunner();
conn = JDBCUtils.getConnection2();
String sql = "select id,name,email,birth from customers where id = ?";
MapListHandler handler = new MapListHandler();
List<Map<String, Object>> list = runner.query(conn,sql,handler,22);
list.forEach(System.out::println);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
}