`
wbj0110
  • 浏览: 1564555 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Spring JDBCTemplate Query方法查询

    博客分类:
  • Java
阅读更多
在内部建立内联类实现RowMapper接口
  1. package hysteria.contact.dao.impl;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.sql.Types;
  5. import java.util.List;
  6. import org.springframework.jdbc.core.JdbcTemplate;
  7. import org.springframework.jdbc.core.RowMapper;
  8. import hysteria.contact.dao.ItemDAO;
  9. import hysteria.contact.domain.Item;
  10. public class ItemDAOImpl implements ItemDAO {
  11.  private JdbcTemplate jdbcTemplate;
  12.  public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  13.   this.jdbcTemplate = jdbcTemplate;
  14.  }
  15.  public Item insert(Item item) {
  16.   String sql = "INSERT INTO items(user_id,name,phone,email) VALUES(?,?,?,?)";
  17.   Object[] params = new Object[]{item.getUserId(),item.getName(),item.getPhone(),item.getEmail()};
  18.   int[] types = new int[]{Types.INTEGER,Types.VARCHAR,Types.CHAR,Types.VARCHAR};
  19.   jdbcTemplate.update(sql,params,types);
  20.   return item;
  21.  }
  22.  public Item update(Item item) {
  23.   String sql = "UPDATE items SET name = ?, phone = ?, email = ? WHERE id = ?";
  24.   Object[] params = new Object[] {item.getName(),item.getPhone(),item.getEmail(),item.getId()};
  25.   int[] types = new int[] {Types.VARCHAR,Types.CHAR,Types.VARCHAR,Types.VARCHAR,Types.INTEGER};
  26.   jdbcTemplate.update(sql,params,types);
  27.   return item;
  28.  }
  29.  public void delete(Item item) {
  30.   String sql = "DELETE FROM items WHERE id = ?";
  31.   Object[] params = new Object[] {item.getId()};
  32.   int[] types = new int[]{Types.INTEGER};
  33.   jdbcTemplate.update(sql,params,types);
  34.  }
  35.  public Item findById(int id) {
  36.   String sql = "SELECT * FROM items WHERE id = ?";
  37.   Object[] params = new Object[] {id};
  38.   int[] types = new int[] {Types.INTEGER};
  39.   List items = jdbcTemplate.query(sql,params,types,new ItemMapper());
  40.   if(items.isEmpty()){
  41.    return null;
  42.   }
  43.   return (Item)items.get(0);
  44.  }
  45.  public List<Item> findAll() {
  46.   String sql = "SELECT * FROM items";
  47.   return jdbcTemplate.query(sql,new ItemMapper());
  48.  }
  49.  public List<Item> findAllByUser(int user_id) {
  50.   String sql = "SELECT * FROM items WHERE user_id = ?";
  51.   Object[] params = new Object[]{user_id};
  52.   int[] types = new int[]{Types.INTEGER};
  53.   List items = jdbcTemplate.query(sql,params,types,new ItemMapper());
  54.   return items;
  55.  }
  56.  protected class ItemMapper implements RowMapper {
  57.   public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
  58.    Item item = new Item();
  59.    item.setId(rs.getInt("id"));
  60.    item.setUserId(rs.getInt("user_id"));
  61.    item.setName(rs.getString("name"));
  62.    item.setPhone(rs.getString("phone"));
  63.    item.setEmail(rs.getString("email"));
  64.    return item;
  65.   }
  66.  }
  67. }
分享到:
评论

相关推荐

    spring JdbcTemplate query方法使用示例

    spring JdbcTemplate query方法使用示例,欢迎下载借鉴

    Spring框架JdbcTemplate类中查询方法介绍

    Spring 框架 JdbcTemplate 类中查询方法介绍 JdbcTemplate 是 Spring 框架中 org.springframework.jdbc.core 包提供的 JDBC 模板类,它是核心类,其他模板类都是基于它封装完成的。JdbcTemplate 类主要提供四类方法...

    spring自带的jdbcTemplate查询、插入预编译使用

    简单的jdbcTemplate预编译、回调等

    JdbcTemplate的jar包.rar

    查询所有的内容,封装为对象用:template.query(sql, new BeanPropertyRowMapper&lt;对象&gt;(对象.class)); 查询需要使用聚合函数的内容,如:select count(id)from account用:template.queryForObject(sql)

    Spring中文帮助文档

    11.6.1. SqlQuery类 11.6.2. MappingSqlQuery类 11.6.3. SqlUpdate类 11.6.4. StoredProcedure类 11.6.5. SqlFunction类 11.7. 参数和数据处理的基本原则 11.7.1. 为参数设置SQL类型信息 11.7.2. 处理BLOB 和...

    jdbcTemplate

    jdbcTemplate.query(sql, new RowCallbackHandler(){ @Override public void processRow(ResultSet rs) throws SQLException { User u=new User(); u.setId(rs.getInt("id")); u.setUsername(rs...

    rest风格+jdbctemplate的CRUD操作.rar

    ①查询所有员工列表:jdbcTemplate.query(sql, new RowMapper() {}回调函数的使用 ②添加员工:添加员工之前要先查询出所有部门,因此要先查询所有的部门列表,然后用POST请求添加员工,重定向回员工列表 ③删除员工...

    spring-jdbcmapperdvw.zip

    dvw是一个用于spring-jdbc的简单Mapper。 特性 使用注解和反射实现。 通过注解声明实体属性的数据来源(查询结果的列名),并声明该属性是否使用setter赋值。 如果属性名和...

    springjdbc

    &lt;bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"&gt; &lt;property name="dataSource" ref="dataSource" /&gt; &lt;/bean&gt; &lt;/beans&gt; &lt;!-- controller配置 --&gt; &lt;beans xmlns="http://www....

    Spring-Reference_zh_CN(Spring中文参考手册)

    11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新...

    Spring 2.0 开发参考手册

    11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. ...

    Spring API

    11.6.1. SqlQuery类 11.6.2. MappingSqlQuery类 11.6.3. SqlUpdate类 11.6.4. StoredProcedure类 11.6.5. SqlFunction类 11.7. 参数和数据处理的基本原则 11.7.1. 为参数设置SQL类型信息 11.7.2. 处理BLOB 和...

    spring chm文档

    11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. ...

    spring-jdbc-operations:演示Spirng JDBCTemplate操作,例如query(),queryForObject(),QueryList()和检索自动生成的键

    spring-jdbc-operations 演示Spirng JDBCTemplate操作,例如query(),queryForObject(),QueryForList()以及如何使用PreparedStatementCreator检索自动生成的键。 #技术堆栈。 Spring JDBC。 HSQL InMemory...

    halo-query:建立在spring jdbc 基础上的数据库操作框架。简化spring jdbc调用。支持分布式数据库操作,支持单库jdbc事务

    ##底层使用的是spring jdbcTemplate ##目前支持的数据库为mysql,db2 ##mysql,db2测试通过 ##支持分分布式数据库操作,支持单库jdbc事务,支持读写分离(请看database_distribution.md) ##需要注意的是,查询使用的sql...

    squirrel:一个基于JAVA的持久层包装。依赖于 Spring 的 JdbcTemplate 实现

    查询 |— Query |— Criteria |— Restrictions |— ResultSet 排序 |— Order 分页 |— Pagination 主键策略 |— UUID |— INCREMENT 注:Hibernate 有冬眠之意,Squirrel ( 松鼠 ) 具有冬眠的习性,项目中众多类...

    SPRING API 2.0.CHM

    JdbcTemplate JdbcTransactionObjectSupport JdbcUpdateAffectedIncorrectNumberOfRowsException JdbcUtils JdkDynamicAopProxy JdkRegexpMethodPointcut JdkVersion JdoAccessor JdoCallback ...

    spring-framework-reference-4.1.2

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    spring-framework-reference4.1.4

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

Global site tag (gtag.js) - Google Analytics