java学习之路—JDBC—DBUtils


1.需要导的包

commons-dbutils-jar

2.用处

利用dbutils提供的方法 便捷的访问数据库 更新 查询

3.主要方法

QueryRunner的quer方法的返回值取决于其ResultSetHandler参数的handle方法的返回值

QueryRunner queryRunner = new QueryRunner();

public void testQuery() {
Connection connection = null;

try {
connection = JDBCTools.getConnection();
String sql = "SELECT id,name,email,birth FROM customers";
Object obj = queryRunner.query(connection, sql, new MyResultSetHandler());
System.out.println(obj);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.releaseRs(null, connection, null);
}

}

1.BeanHandler:把结果集的第一条记录转为创建的BeanHandler 对象时传入 的class参数对应的对象

public void testBeanHanlder() {

Connection connection = null;
try {
connection = JDBCTools.getConnection();
String sql = "SELECT id,name,email,birth FROM customers WHERE id = ?";
Customer customer = queryRunner.query(connection, sql, new BeanHandler<>(Customer.class), 5);

System.out.println(customer);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.releaseRs(null, connection, null);
}
}

2.BeanListHandler:把结果集转为一个List,该List不为null; 但可能为空集合(size() 方法返回 0 )

public void testBeanListHandler() {
Connection connection = null;
try {
connection = JDBCTools.getConnection();
String sql = "SELECT id,name,email,birth FROM customers ";
List<Customer> customers = queryRunner.query(connection, sql, new BeanListHandler<>(Customer.class));

System.out.println(customers);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.releaseRs(null, connection, null);
}

}

3.MapHandler

public void testMapHandler() {
Connection connection = null;
try {
connection = JDBCTools.getConnection();
String sql = "SELECT id,name,email,birth FROM customers";
Map<String, Object> customer = queryRunner.query(connection, sql, new MapHandler());

System.out.println(customer);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.releaseRs(null, connection, null);
}
}

4.MapListHandler:将结果集转为一个Map的ListMap对应查询的一条记录

public void TestMapListHandler() {
Connection connection = null;
try {
connection = JDBCTools.getConnection();
String sql = "SELECT id,name,email,birth FROM customers";
List<Map<String, Object>> customer = queryRunner.query(connection, sql, new MapListHandler());

System.out.println(customer);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.releaseRs(null, connection, null);
}

}

5.Scarlar把结果集转为一个数值返回(可以是任意类型的 字符 数字)

public void testScalarHandler() {
Connection connection = null;
try {
connection = JDBCTools.getConnection();
String sql = "SELECT name FROM customers WHERE id = ?";
String result = queryRunner.query(connection, sql, new ScalarHandler<>(),5);

System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.releaseRs(null, connection, null);
}

}

优质内容筛选与推荐>>
1、open函数的用法详解
2、Maven的setting配置文件
3、进程android.process.acore已意外停止解决方法
4、CSS3的REM设置字体大小
5、Switch View when host XmlFormView in aspx


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号