Spring MVC笔记 使用JdbcTemplate
来源:互联网 发布:java项目开发全过程 编辑:程序博客网 时间:2024/05/30 23:04
Spring提供了 JdbcTemplate 来封装数据库jdbc操作细节,
包括: 数据库连接[打开/关闭] ,异常转义 ,SQL执行 ,查询结果的转换,
其中体现了 模板模式 的设计模式思想。
使用了Spring JdbcTemplate 之后,开发人员只需要完成其中两项编码工作。
指定数据库连接参数
打开数据库连接
声明SQL语句
预编译并执行SQL语句
遍历查询结果(如果需要的话)
处理每一次遍历操作
处理抛出的任何异常
处理事务
关闭数据库连接
Spring将替我们完成所有单调乏味的JDBC底层细节处理工作。
使用JdbcTemplate进行查询时,可以使用queryForXXX()等方法,例如使用queryForInt()方法传回user表格中的数据数目: jdbcTemplate.quertForInt("select count(*) from user"); 也可以使用queryForObject()传回一个查询后的对象,例如传回一个String对象:
String name=(String)jdbcTemplate.queryForObject(
"selcet name from user where id=?",
new Object[]{id},
java.lang.String.class);
)
上面两个例子都是传回单独一笔数据,如果要传回多笔数据,则可以使用queryForList()方法,例如:
List rows=jdbcTemplate().queryForList("select * from user where id="+id.intValue()); 传回的list中包括的是map对象,每个map对象代表查询结果中的一笔数据,每笔数据包括多个字段,要取得字段中的值,就要使用字段名作为key,例如:
Iterator it=rows.iterator();
while(it.hasNext()){
Map result=(Map)it.next();
System.out.println(userMap.get("id"));
System.out.println(userMap.get("name"));
System.out.println(userMap.get("age"));
}
在查询的同时,你可以在返回结果之前先进行一些处理,这就要实现RowCallbackHandler接口
public User find(Integer id){
final User user=new User();
jdbcTemplate.query("select * from user where id=?",new Object[]{id},
new RowCallBackHandler(){
public void proccessRow(ResultSet rs){
user.setId(new Integer(rs.getInt("id")));
uset.setName(rs.getString("name"));
}
});
return user;
}
如果一次要返回多个查询结果对象,则可以实现RowMapper接口
public class UserRowMapper implements RowMapper{
public Object MapRow(ResultSet rsmint rowNum) throws SQLException{
User user=new User();
user.setId(new Integer(rs.getInt("id")));
user.setName(rs.getString("name"));
return user;
}
}
使用RowMapper查询单笔数据
public User find(Integer id){
User user=(User)jdbcTemplate.queryForObject("select * from user where id=?",new Object[]{id},
new UserRowMapper());
return user;
}
使用RowMapper查询多笔数据
List users=jdbcTemplate.query("select * from user",new UserRowMapper());
传回的users对象中,包括了从数据库查询出来的结果,并已经封装成uer对象。
- Spring MVC笔记 使用JdbcTemplate
- Spring MVC那些事之JdbcTemplate的使用总结
- Spring mvc中jdbcDaoSupport和jdbcTemplate的使用
- Spring MVC使用笔记
- spring mvc和jdbcTemplate例子
- 搭建Spring MVC+ jdbcTemplate框架
- Spring JdbcTemplate学习笔记
- Spring JdbcTemplate笔记
- Spring JDBCTemplate学习笔记
- spring-JdbcTemplate用法笔记
- Spring 使用JdbcTemplate
- spring-jdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring的jdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring JdbcTemplate使用
- Spring JdbcTemplate使用
- spring四种依赖注入方式
- spring batch DataAccessResourceFailureException
- 遇到蛋疼的查看方法Apple Mach-O Linker (ld) Error Group
- 在CodeWarrior for S12(X)的调试器中使用控制点(断点、观测点、标记点)
- eas bos 开发 修改 行政组织弹出框样式
- Spring MVC笔记 使用JdbcTemplate
- Videojs 项目开发使用解析
- 测试接口google浏览中测试
- Educational Codeforces Round 30 总结
- 几种maven仓库的优先级
- javax.servlet.ServletException: Servlet.init() for servlet springMVC threw exception
- 加快gradle构建,提升开发效率,4分钟变20s,亲身体验
- C++ STL set和multiset
- 《Spring5官方文档》新功能