JdbcTemplate进行查询
1、jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong()
例如:下面使用queryForInt()方法传回user表中的记录数:
jdbcTemplate.queryForInt("select count(*) from user");
2 jdbcTemplate.queryForObject()
本质上和 queryForInt() ,相同。返回都是单行单列一个数据。例如下例传回一个 String 对象:
String name = (String) jdbcTemplate.queryForObject( "SELECT name FROM USER WHERE id = ?", new Object[] {id}, java.lang.String.class);
3 jdbcTemplate.queryForList(???)
返回 a List of Maps, using column name as key. 每一个map代表一条记录 例如:
List rows = jdbcTemplate.queryForList("SELECT * FROM user");
for(int i=0;i<rows.size();i++){
Map userMap=rows.get(i);
System.out.println(userMap.get("id"));
System.out.println(userMap.get("name"));
System.out.println(userMap.get("age"));
}
4 jdbcTemplate.queryForMap(???)
和 queryForList(), 差不多,只是预期查询一行数据。返回 a Map, using column name as key.
The query is expected to be a single row query
5 jdbcTemplate.queryForRowSet(???)
返回 RowSet, representing disconnected java.sql.ResultSet
JDBCTemplate 的使用很简单,只要在 ApplicationContext 文件里定义一个 jdbcTemplate 节点,POJO 获得注入后可以直接执行操作,不需要继承什么基类。
xml 代码
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
java 代码
SqlRowSet rs = jdbcTemplate.queryForRowSet(sql, params);
Tips1 : jdbcTemplate 有很多的 ORM化回调操作将返回结果转为对象列表,但很多时候还是需要返回 ResultSet ,Spring 有提供一个类似 ResultSet 的,实现 JDBC3.0 RowSet接口的 Spring SqlRowSet 。
Tips2 :. 注意 jdbcTemplate 尽量只执行查询操作,莫要进行更新,否则会破坏 Hibernate 的二级缓存体系。
最新文章
- ubuntu kylin 14.04安装Node.js和Famous
- 《BI项目笔记》——微软BI项目笔记连载
- JavaScript的setTimeout和setInterval的深入理解
- 140227项目开发及上线过程遇到的10个问题(重点: FCK过滤替换)
- 函数get_table_share
- 【Spark学习】Apache Spark安全机制
- map/reduce实现数据去重
- ubuntu install opengrok
- WebGIS在行业中应用的演变
- 【转】Shell编程
- JS图片上传后base64转码
- Linux 中 sudo、su命令
- java File类常用方法
- ASP.NET Core 2.0 : 九.从Windows发布到CentOS的跨平台部署
- 使用引用计数和copy-on_write实现String类
- Mac系统home目录权限修改【转载】
- 终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码
- ORA-00604的解决方法
- AutoMapper在MVC中的运用02-Decimal转String、集合、子父类映射
- Unity3D学习笔记(十四):Animation旧动画