在springboot中使用jdbcTemplate(6)
TableSaw是一个基于二维表进行数据处理和计算的java第三方包。
可以认为是java版的pandas。它提供了从jdbc ResultSet构建Table对象的方法。
由于在项目中经常使用jdbcTemplate,我想知道能不能直接从jdbcTemplate生成table,搜索了一下还真可以。
先贴下pom
<dependency> <groupId>tech.tablesaw</groupId> <artifactId>tablesaw-core</artifactId> <version>0.42.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <version>${spring-boot.version}</version> </dependency>
上代码,jdbcTemplate虽然不能直接生成ResultSet,但它提供了一个回调接口ResultSetExtractor,利用它,我们就能拿到本次query的ResultSet
Table table = dynamicJdbcTemplate.query("select a,b,c from t", new ResultSetExtractor<Table>() { @Override public Table extractData(ResultSet resultSet) throws SQLException, DataAccessException { return Table.read().db(resultSet); } });
就是这么简单,一个table对象就生成了,不管你是什么表,也不管你有没有Bean,没有进行负责的RowMapper映射,厉害不厉害!