SimpleJbdcTemplate类
来源:互联网 发布:招聘网络技术员图片 编辑:程序博客网 时间:2024/06/03 06:08
7.2.5 SimpleJdbcTemplate
7.2.5 SimpleJdbcTemplate
SimpleJdbcTemplate类也是基于JdbcTemplate类,但利用Java5+的可变参数列表和自动装箱和拆箱从而获取更简洁的代码。
SimpleJdbcTemplate主要提供两类方法:query及queryForXXX方法、update及batchUpdate方法。
首先让我们看个例子吧:
//定义UserModel的RowMapperpackage cn.javass.spring.chapter7;import java.sql.ResultSet;import java.sql.SQLException;import org.springframework.jdbc.core.RowMapper;public class UserRowMapper implements RowMapper<UserModel> { @Override public UserModel mapRow(ResultSet rs, int rowNum) throws SQLException { UserModel model = new UserModel(); model.setId(rs.getInt("id")); model.setMyName(rs.getString("name")); return model; }}
@Testpublic void testSimpleJdbcTemplate() { //还支持DataSource和NamedParameterJdbcTemplate作为构造器参数 SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate); String insertSql = "insert into test(id, name) values(?, ?)"; simpleJdbcTemplate.update(insertSql, 10, "name5"); String selectSql = "select * from test where id=? and name=?"; List<Map<String, Object>> result = simpleJdbcTemplate.queryForList(selectSql, 10, "name5"); Assert.assertEquals(1, result.size()); RowMapper<UserModel> mapper = new UserRowMapper(); List<UserModel> result2 = simpleJdbcTemplate.query(selectSql, mapper, 10, "name5"); Assert.assertEquals(1, result2.size()); }
1)SimpleJdbcTemplate初始化:可以使用DataSource、JdbcTemplate或NamedParameterJdbcTemplate对象作为构造器参数初始化;
2)update(insertSql, 10, "name5"):采用Java5+可变参数列表从而代替new Object[]{10, "name5"}方式;
3)query(selectSql, mapper, 10, "name5"):使用Java5+可变参数列表及RowMapper回调并利用泛型特性来指定返回值类型(List<UserModel>)。
SimpleJdbcTemplate类还支持命名参数特性,如queryForList(String sql, SqlParameterSource args)和queryForList(String sql, Map<String, ?> args) ,类似于NamedParameterJdbcTemplate中使用,在此就不介绍了。
0 0
- SimpleJbdcTemplate类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- mysql GTID主从复制
- ORA-01720:不存在“****.****"授权选项
- 第14周项目2-带姓名的成绩单
- windows API 开发飞机订票系统(二)
- Java 多线程之 TransferQueue
- SimpleJbdcTemplate类
- 如何运行linux shell程序
- eclipse中,Save Failed Negative time
- linux使用jconsole
- static对局部变量的作用
- java DOM解析XML文件
- 【解决】 无法打开包括文件:“windows.h”: No such file or directory
- asp.net mvc 使用IIS配合VS调试
- 【c++程序】浅层复制构造函数