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;
- ??}
-
- ?}
-
-
- }