“使用QueryRunner查询表中特殊值的操作”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) (→示例2) |
||
第79行: | 第79行: | ||
</syntaxhighlight><syntaxhighlight lang="console"> | </syntaxhighlight><syntaxhighlight lang="console"> | ||
2023-01-09 | 2023-01-09 | ||
− | </syntaxhighlight> | + | </syntaxhighlight>https://github.com/jihch/jdbc_2/blob/main/src/main/java/io/github/jihch/dbutils/QueryRunnerTest.java |
2023年1月14日 (六) 07:03的最新版本
https://www.bilibili.com/video/BV1eJ411c7rf/?p=53
ScalarHandler
示例1
/**
* ScalarHandler:是 ResultSetHandler 接口的实现类,对应查询结果中的单个值
*/
@Test
public void testQueryObjectLong() {
Connection conn = null;
String sql = "select count(*) from customers";
/*
AbstractKeyedHandler, AbstractListHandler, ArrayHandler, ArrayListHandler, BaseResultSetHandler,
BeanHandler, BeanListHandler, BeanMapHandler, ColumnListHandler,
KeyedHandler, MapHandler, MapListHandler, ScalarHandler
*/
ScalarHandler rsh = new ScalarHandler();
Long count = null;
QueryRunner runner = new QueryRunner();
try {
conn = JDBCUtils.getConnectionFromDruid();
count = (Long) runner.query(conn, sql, rsh);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
System.out.println(count);
}
7
示例2
/**
* ScalarHandler:是 ResultSetHandler 接口的实现类,对应查询结果中的单个值
*/
@Test
public void testQueryObjectDate() {
Connection conn = null;
String sql = "select max(birth) from customers";
/*
AbstractKeyedHandler, AbstractListHandler, ArrayHandler, ArrayListHandler, BaseResultSetHandler,
BeanHandler, BeanListHandler, BeanMapHandler, ColumnListHandler,
KeyedHandler, MapHandler, MapListHandler, ScalarHandler
*/
ScalarHandler rsh = new ScalarHandler();
Date d = null;
QueryRunner runner = new QueryRunner();
try {
conn = JDBCUtils.getConnectionFromDruid();
d = (Date) runner.query(conn, sql, rsh);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.closeResource(conn, null);
}
System.out.println(d);
}
2023-01-09
https://github.com/jihch/jdbc_2/blob/main/src/main/java/io/github/jihch/dbutils/QueryRunnerTest.java