1、org.springframework.jdbc.core.PreparedStatementCreator
用JdbcTemplate提供的Connection创建PreparedStatement对象,子类需要提供SQL以及为PreparedStatement对象设置必要的参数。
PreparedStatementCreator psc = new PreparedStatementCreator(){
public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
PreparedStatement pstmt = con.prepareStatement("select * from user where name=? and age=?");
pstmt.setString(1, "lsy");
pstmt.setInt(2, 24);
return pstmt;
}
};
2、接口org.springframework.jdbc.core.PreparedStatementSetter
用于PrepraredStatement对象动态设置参数,PrepraredStatement对象由JdbcTemplate对象创建。
jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)",
new PreparedStatementSetter() {
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, id);
ps.setString(2, name);
ps.setString(3, sex);
ps.setInt(4, age);
}
});
3、org.springframework.jdbc.core.RowCallbackHandler
用于处理查询结果,获得ResultSet对象里的数据。
只处理一条数据。
final User user = new User();
jdbcTemplate.query("SELECT * FROM USER WHERE user_id = ?",
new Object[] {id},
new RowCallbackHandler() {
public void processRow(ResultSet rs) throws SQLException {
user.setId(rs.getString("user_id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex").charAt(0));
user.setAge(rs.getInt("age"));
}
});
4、org.springframework.jdbc.core.RowMapper
用于处理查询结果,获得ResultSet对象里的数据,把每一行的数据放在一个DTO对象里,然后由JdbcTemplate对象把所有DTO对象放在一个List。
class UserRowMapper implements RowMapper {
public Object mapRow(ResultSet rs, int index) throws SQLException {
User user = new User();
user.setId(rs.getString("user_id"));
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex").charAt(0));
user.setAge(rs.getInt("age"));
return user;
}
}
String sql = "SELECT * FROM USER";
jdbcTemplate.query(sql, new RowMapperResultReader(new UserRowMapper()));
5、org.springframework.jdbc.core.ResultSetExtractor
需要执行ResultSet.next()方法。
便利resultset所有数据。
ResultSetExtractor rse = new ResultSetExtractor(){
public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
List list = new ArrayList();
while(rs.next()) {
list.add(new String[]{rs.getString("user_id"), rs.getString("name")});
}
return list;
}
};
相关推荐
spring-jdbcTemplate实例工程
使用Spring的JdbcTemplate调用Oracle的存储过程
strut2+spring+springjdbctemplate做的简易登录系统
使用Spring的JdbcTemplate实现分页功能
Spring中的JdbcTemplate,Spring中的的事务.。。。。。。。
Spring-JdbcTemplate
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
Spring框架JdbcTemplate类中查询方法介绍
自己做的一个小案例,spring 的ioc小案例,你也可以去以下链接看文章讲解https://blog.csdn.net/zyqblog/article/details/82590003
一个简单的spring的jdbcTemplate扩展
配制Spring事务和JdbcTemplate使用 配制Spring事务和JdbcTemplate使用
Spring:JdbcTemplate使用指南 Spring:JdbcTemplate使用指南
spring jdbctemplate组件的简单实例。可以直接运行该实例来学习spring的jdbctemplate。处于初学者,或开发互联网性能要求较高的比较有料。
Spring JdbcTemplate的操作,包括接口,BaseDao,log4J配置文件,主要为oracle数据库操作,很多特殊方法只对oracle有效
一个非常简单基于注解的Spring JdbcTemplate,供初学者参考用。
spring是一站式框架,当然也对数据持久层做了一部分的处理。spring通过JdbcTemplate对数据操作。本案例详细介绍了spring的jdbcTemplate和c3p0的整合。
Spring JDBCTemplate连接池jar包
使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC我的实例 博文链接:https://zmx.iteye.com/blog/373454
Spring框架中jdbcTemplate 的使用
struts+spring +jdbctemplate demo http://knight-black-bob.iteye.com/blog/2262258