Spring JDBCTemplate Query方法查询
                
                
                
                    
                        - 摘要:在内部建立内联类实现RowMapper接口packagehysteria.contact.dao.impl;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Types;importjava.util.List;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.jdbc.core.RowMapper
- 标签:
 
                
                    
                    在内部建立内联类实现RowMapper接口
class="highlighter-j">
- 
package?hysteria.contact.dao.impl;
- 
- 
import?java.sql.ResultSet;
- 
import?java.sql.SQLException;
- 
import?java.sql.Types;
- 
import?java.util.List;
- 
- 
import?org.springframework.jdbc.core.JdbcTemplate;
- 
import?org.springframework.jdbc.core.RowMapper;
- 
- 
import?hysteria.contact.dao.ItemDAO;
- 
import?hysteria.contact.domain.Item;
- 
- 
public?class?ItemDAOImpl?implements?ItemDAO?{
- 
?private?JdbcTemplate?jdbcTemplate;
- 
- 
?public?void?setJdbcTemplate(JdbcTemplate?jdbcTemplate)?{
- 
??this.jdbcTemplate?=?jdbcTemplate;
- ?}
- 
- 
?public?Item?insert(Item?item)?{
- 
??String?sql?=?"INSERT?INTO?items(user_id,name,phone,email)?VALUES(?,?,?,?)";
- 
??Object[]?params?=?new?Object[]{item.getUserId(),item.getName(),item.getPhone(),item.getEmail()};
- 
??int[]?types?=?new?int[]{Types.INTEGER,Types.VARCHAR,Types.CHAR,Types.VARCHAR};
- ??jdbcTemplate.update(sql,params,types);
- 
??return?item;
- ?}
- 
- 
?public?Item?update(Item?item)?{
- 
??String?sql?=?"UPDATE?items?SET?name?=??,?phone?=??,?email?=???WHERE?id?=??";
- 
??Object[]?params?=?new?Object[]?{item.getName(),item.getPhone(),item.getEmail(),item.getId()};
- 
??int[]?types?=?new?int[]?{Types.VARCHAR,Types.CHAR,Types.VARCHAR,Types.VARCHAR,Types.INTEGER};
- ??jdbcTemplate.update(sql,params,types);
- 
- 
??return?item;
- ?}
- 
- 
?public?void?delete(Item?item)?{
- 
??String?sql?=?"DELETE?FROM?items?WHERE?id?=??";
- 
??Object[]?params?=?new?Object[]?{item.getId()};
- 
??int[]?types?=?new?int[]{Types.INTEGER};
- ??jdbcTemplate.update(sql,params,types);
- ?}
- 
- 
?public?Item?findById(int?id)?{
- 
??String?sql?=?"SELECT?*?FROM?items?WHERE?id?=??";
- 
??Object[]?params?=?new?Object[]?{id};
- 
??int[]?types?=?new?int[]?{Types.INTEGER};
- 
??List?items?=?jdbcTemplate.query(sql,params,types,new?ItemMapper());
- 
??if(items.isEmpty()){
- 
???return?null;
- ??}
- 
??return?(Item)items.get(0);
- ?}
- 
- 
?public?List<Item>?findAll()?{
- 
??String?sql?=?"SELECT?*?FROM?items";
- 
??return?jdbcTemplate.query(sql,new?ItemMapper());
- ?}
- 
- 
- 
?public?List<Item>?findAllByUser(int?user_id)?{
- 
??String?sql?=?"SELECT?*?FROM?items?WHERE?user_id?=??";
- 
??Object[]?params?=?new?Object[]{user_id};
- 
??int[]?types?=?new?int[]{Types.INTEGER};
- 
??List?items?=?jdbcTemplate.query(sql,params,types,new?ItemMapper());
- 
??return?items;
- ?}
- 
- 
?protected?class?ItemMapper?implements?RowMapper?{
- 
- 
??public?Object?mapRow(ResultSet?rs,?int?rowNum)?throws?SQLException?{
- 
???Item?item?=?new?Item();
- 
???item.setId(rs.getInt("id"));
- 
???item.setUserId(rs.getInt("user_id"));
- 
???item.setName(rs.getString("name"));
- 
???item.setPhone(rs.getString("phone"));
- 
???item.setEmail(rs.getString("email"));
- 
- 
???return?item;
- ??}
- 
- ?}
- 
- 
- }