1.org.springframework.jdbc.core.RowMapper
官网doc: http://docs.spring.io/spring/docs/3.0.x/api/org/springframework/jdbc/core/RowMapper.html
实例:http://www.blogjava.net/pigbaby520/articles/217394.html?opt=admin
RowMapper可以将数据中的每一行封装成用户定义的类,在数据库查询中,如果返回的类型是用户自定义的类型则需要包装,如果是Java自定义的类型,如:String则不需要。
RCP项目中用到
/**
* 返回当前页面数据列表
*/
public List<EventLog> findByPage(int currentPage, int pageSize) {
// TODO Auto-generated method stub
String sql = " select * from T_EVENT_LOG ";
return super.findBySql( new RowMapper() {
public Object mapRow(ResultSet rs, int index)
throws SQLException {
EventLog model = new EventLog();
model.setId(rs.getLong("ID"));
model.setCreateDate(rs.getString("CREATE_DATE"));
return model;
}
}, sql, null, null, currentPage, pageSize);
}
* 返回当前页面数据列表
*/
public List<EventLog> findByPage(int currentPage, int pageSize) {
// TODO Auto-generated method stub
String sql = " select * from T_EVENT_LOG ";
return super.findBySql( new RowMapper() {
public Object mapRow(ResultSet rs, int index)
throws SQLException {
EventLog model = new EventLog();
model.setId(rs.getLong("ID"));
model.setCreateDate(rs.getString("CREATE_DATE"));
return model;
}
}, sql, null, null, currentPage, pageSize);
}
2.<E> List<E> org.springframework.jdbc.core.JdbcTemplate.query(String sql, Object[] args, int[] argTypes, RowMapper<E> rowMapper)
官网doc: http://docs.spring.io/spring/docs/2.0.x/api/org/springframework/jdbc/core/JdbcTemplate.html
sql是需要查询等的sql语句啊,比如select * from user object[] 是你使用sql语句中的参数数据,select * from user where id=? 其中的?就是object[]中的参数,可以是多个,最后面的rowMapper是一个映射器,可以在内部实现自己的代码并返回一个object,一般用来将查询的参数封装对象使用的,可以new 匿名内部内来使用。