读书人

Spring SimpleJdbcTemplate课程

发布时间: 2012-08-15 16:57:17 作者: rapoo

Spring SimpleJdbcTemplate教程

SimpleJdbcTemplate类也是基于JdbcTemplate类,但利用Java5+的可变参数列表和自动装箱和拆箱从而获取更简洁的代码。

SimpleJdbcTemplate主要提供两类方法:query及queryForXXX方法、update及batchUpdate方法。

首先让我们看个例子吧:

java代码:Java代码 Spring SimpleJdbcTemplate课程
  1. //定义UserModel的RowMapper
  2. package cn.javass.spring.chapter7;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import org.springframework.jdbc.core.RowMapper;
  6. public class UserRowMapper implements RowMapper<UserModel> {
  7. @Override
  8. public UserModel mapRow(ResultSet rs, int rowNum) throws SQLException {
  9. UserModel model = new UserModel();
  10. model.setId(rs.getInt("id"));
  11. model.setMyName(rs.getString("name"));
  12. return model;
  13. }
  14. }

java代码:Java代码 Spring SimpleJdbcTemplate课程
  1. @Test
  2. public void testSimpleJdbcTemplate() {
  3. //还支持DataSource和NamedParameterJdbcTemplate作为构造器参数
  4. SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate);
  5. String insertSql = "insert into test(id, name) values(?, ?)";
  6. simpleJdbcTemplate.update(insertSql, 10, "name5");
  7. String selectSql = "select * from test where id=? and name=?";
  8. List<Map<String, Object>> result = simpleJdbcTemplate.queryForList(selectSql, 10, "name5");
  9. Assert.assertEquals(1, result.size());
  10. RowMapper<UserModel> mapper = new UserRowMapper();
  11. List<UserModel> result2 = simpleJdbcTemplate.query(selectSql, mapper, 10, "name5");
  12. Assert.assertEquals(1, result2.size());
  13. }

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中使用,在此就不介绍了。

SimpleJdbcTemplate还提供如下方法用于获取JdbcTemplate和NamedParameterJdbcTemplate:

1)获取JdbcTemplate对象方法:JdbcOperations是JdbcTemplate的接口

JdbcOperations getJdbcOperations()

2)获取NamedParameterJdbcTemplate对象方法:NamedParameterJdbcOperations是NamedParameterJdbcTemplate的接口

NamedParameterJdbcOperations getNamedParameterJdbcOperations()

更多关系Spring的信息

Spring 论坛 http://www.itchm.com/forum-59-1.html

读书人网 >其他数据库

热点推荐