使用QueryRunner查询表中特殊值的操作

来自姬鸿昌的知识库
跳到导航 跳到搜索

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