Spring Jdbc Template

1. Only one single result/row.
int queryForInt(String sql)
int queryForInt(String sql, Object[] args)
long queryForLong(String sql)
long queryForLong(String sql, Object[] args)
Object queryForObject(String sql, Class requiredType)
Object queryForObject(String sql, Object[] args, Class requiredType)
Map queryForMap(String sql)
Map queryForMap(String sql, Object[] args)

2. Multiple rows
List queryForList(String sql)
List queryForList(String sql, Object[] args)

3. Three types of callback
1) ResultSetExtractor
List customerList = (List)jdbcTemplate.query("select * from customer", new ResultSetExtractor(){
public Object extractData(ResultSet rs) throws Exception
{
List customers = new ArrayList();
while(rs.next())
{
Customer customer = new Customer();
customer.setFirstName(rs.getString(1));
customer.setLastName(rs.getString(2));
...
customers.add(customer);
}
return customers;
}});

2) RowMapper
List customerList = jdbcTemplate.query("select * from customer", new RowMapper(){
public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {
Customer customer = new Customer();
customer.setFirstName(rs.getString(1));
customer.setLastName(rs.getString(2));
...
return customer;
}});

3) RowCallbackHandler
final List customerList = new ArrayList();
jdbcTemplate.query("select * from customer", new RowCallbackHandler(){
public void processRow(ResultSet rs) throws SQLException {
Customer customer = new Customer();
customer.setFirstName(rs.getString(1));
customer.setLastName(rs.getString(2));
...
customerList.add(customer);
}});

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326830973&siteId=291194637