在springboot中使用jdbcTemplate(6)


TableSaw是一个基于二维表进行数据处理和计算的java第三方包。

可以认为是java版的pandas。它提供了从jdbc ResultSet构建Table对象的方法。

由于在项目中经常使用jdbcTemplate,我想知道能不能直接从jdbcTemplate生成table,搜索了一下还真可以。

先贴下pom

<dependency>
            <groupId>tech.tablesawgroupId>
            <artifactId>tablesaw-coreartifactId>
            <version>0.42.0version>
        dependency>

 <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-jdbcartifactId>
            <version>${spring-boot.version}version>
        dependency>

上代码,jdbcTemplate虽然不能直接生成ResultSet,但它提供了一个回调接口ResultSetExtractor,利用它,我们就能拿到本次query的ResultSet

Table table = dynamicJdbcTemplate.query("select a,b,c from t", new ResultSetExtractor() {
                        @Override
                        public Table extractData(ResultSet resultSet) throws SQLException, DataAccessException {
                            return Table.read().db(resultSet);
                        }
                    });

就是这么简单,一个table对象就生成了,不管你是什么表,也不管你有没有Bean,没有进行负责的RowMapper映射,厉害不厉害!