`

Spring JdbcTemplate 查询方法

阅读更多
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;    
  }     
 }  
}
分享到:
评论

相关推荐

    Spring JdbcTemplate 常用方法整理

    本文将深入探讨Spring JdbcTemplate的常用方法,并结合提供的`JsonBean.java`和`JdbcUtils.java`文件,来理解其在实际应用中的使用。 首先,JdbcTemplate的核心功能在于它提供了一系列的方法来执行SQL语句,包括...

    Spring JdbcTemplate查询实例

    首先,Spring JdbcTemplate通过提供一系列的模板方法,如`queryForList`、`queryForObject`、`execute`等,使得执行SQL查询变得更加简洁和安全。这些方法能够处理结果集、自动转换数据类型,并且在发生异常时提供更...

    基于注解的Spring JdbcTemplate

    Spring JdbcTemplate提供了一个面向对象的接口,用于执行SQL查询、更新和存储过程,避免了直接与JDBC API打交道的繁琐工作。它通过异常处理、事务管理以及结果集的自动处理,简化了数据库访问。基于注解的Spring ...

    spring-jdbcTemplate实例工程

    1. **JdbcTemplate对象**:这是Spring JdbcTemplate的核心,它包含了执行SQL语句的所有方法,如update()用于更新,query()用于查询,insert()用于插入等。 2. **参数绑定**:JdbcTemplate支持多种方式的参数绑定,...

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate是一个模板类,它提供了大量的方法来执行SQL查询、更新、存储过程等操作。这些方法会自动处理JDBC相关的资源关闭、异常转换等细节,使得代码更加整洁和健壮。 2. **数据库自适应** Spring...

    spring JdbcTemplate query方法使用示例

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

    Spring JdbcTemplate

    Spring JdbcTemplate接口提供了丰富的API,用于执行SQL查询、更新、插入、删除等操作。它抽象了数据库连接管理、事务控制等复杂过程,使代码更加简洁、易于测试。例如,`queryForList(String sql, Class&lt;T&gt; element...

    Spring JDBCTemplate连接池jar包

    4. 使用JdbcTemplate方法:调用JdbcTemplate的相应方法,如`update()`, `query()`, `execute()`等,传入SQL和参数。 5. 处理结果:根据操作类型,处理返回的结果集或者受影响的行数。 6. 事务管理:如果需要,可以...

    Druid数据库连接池的SpringJDBCTemplate所需的jar包

    Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,...

    strut2+spring+springjdbctemplate做的简易登录系统

    Spring JDBC Template被用来简化数据库操作,它提供了一种模板方法模式,将SQL执行、结果集处理等细节进行了封装,使得开发者只需要关注SQL语句和处理结果即可。例如,登录验证可能涉及查询用户表,查找与输入用户名...

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    使用 Spring JdbcTemplate 调用 Oracle 存储过程实现 CRUD 在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储...

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

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

    Spring JdbcTemplate例子

    Spring JdbcTemplate是Spring框架中的一个核心组件,主要用来简化数据库操作。它提供了一种模板方法设计模式,将SQL语句的执行与结果处理进行了抽象,使得开发者可以更加专注于业务逻辑,而无需关心底层数据访问的...

    使用Spring的JdbcTemplate实现分页功能

    使用Spring的JdbcTemplate实现分页功能

    使用Spring JDBCTemplate进行增删改查curd操作

    在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...

    Spring JdbcTemplate api

    除了上述方法,`JdbcTemplate`还提供了一系列`queryForXXX`方法,用于快速返回简单的查询结果,例如查询计数或返回单个字段的值。这些方法简化了常见查询场景的编码工作,提高了开发效率。 总之,`JdbcTemplate`...

    模仿spring jdbcTemplate的实现

    模仿spring jdbcTemplate的粗略实现,只有很小的参考价值,如果是java初学者可以使用这个封装好的工具进行数据库操作,只需要在db.properties里配置好driver,url等信息

    Spring JdbcTemplate.batchUpdate 例子

    这个类提供了很多方法来执行SQL查询、更新语句,包括批处理操作。本篇文章将详细探讨`batchUpdate`方法及其在实际开发中的应用。 在SQL中,批处理是一种高效的技术,它允许一次性发送多个SQL命令到数据库,从而减少...

    spring的jdbcTemplate小案例

    JdbcTemplate是Spring JDBC模块的核心,它提供了一组模板方法,用于执行SQL查询、更新、插入和删除操作。通过使用这个模板类,开发者可以避免直接与JDBC API交互,从而减少错误并提高代码的可读性。它还支持事务管理...

    spring jdbcTemplate 源码

    4. 调用JdbcTemplate提供的方法,如`update()`执行DML语句,`query()`执行查询,`queryForList()`获取列表,`queryForObject()`获取单个对象等。 5. 使用占位符(问号)或命名参数进行SQL动态绑定,避免SQL注入。 ...

Global site tag (gtag.js) - Google Analytics