`

JdbcTemplate查询

    博客分类:
  • JAVA
 
阅读更多

使用JdbcTemplate进行查询时,可以使用queryForXXX()等方法,例如使用queryForInt()方法传回user表格中的数据数目: jdbcTemplate.quertForInt("select count(*) from user"); 也可以使用queryForObject()传回一个查询后的对象,例如传回一个String对象:

String name=(String)jdbcTemplate.queryForObject(
             "selcet name from user where id=?",
                         new Object[]{id},
                         java.lang.String.class);
)

上面两个例子都是传回单独一笔数据,如果要传回多笔数据,则可以使用queryForList()方法,例如:
List rows=jdbcTemplate().queryForList("select * from user where id="+id.intValue()); 传回的list中包括的是map对象,每个map对象代表查询结果中的一笔数据,每笔数据包括多个字段,要取得字段中的值,就要使用字段名作为key,例如:

   Iterator it=rows.iterator();
   while(it.hasNext()){
       Map result=(Map)it.next();
       System.out.println(userMap.get("id"));
       System.out.println(userMap.get("name"));
       System.out.println(userMap.get("age"));
    }

在查询的同时,你可以在返回结果之前先进行一些处理,这就要实现RowCallbackHandler接口

public User find(Integer id){
   final User user=new User();
   jdbcTemplate.query("select * from user where id=?",new Object[]{id},
                                         new RowCallBackHandler(){
                                                public void proccessRow(ResultSet rs){
                                                        user.setId(new Integer(rs.getInt("id")));
                                                        uset.setName(rs.getString("name"));   
                                                 }
                                            });
   return user;
 }

如果一次要返回多个查询结果对象,则可以实现RowMapper接口

public class UserRowMapper implements RowMapper{
       public Object MapRow(ResultSet rsmint rowNum) throws SQLException{
               User user=new User();
               user.setId(new Integer(rs.getInt("id")));
               user.setName(rs.getString("name"));
               return user;
      }
}

使用RowMapper查询单笔数据

public User find(Integer id){
        User user=(User)jdbcTemplate.queryForObject("select * from user where id=?",new Object[]{id},
                                                                                    new UserRowMapper());
         return user;

}

使用RowMapper查询多笔数据

List users=jdbcTemplate.query("select * from user",new UserRowMapper());

传回的users对象中,包括了从数据库查询出来的结果,并已经封装成uer对象

 

 

分享到:
评论

相关推荐

    Spring JdbcTemplate查询实例

    使用JdbcTemplate查询数据,你需要创建一个`JdbcTemplate`实例,通常通过依赖注入的方式从Spring容器中获取。例如: ```java @Autowired private JdbcTemplate jdbcTemplate; ``` 然后,你可以使用`...

    使用jdbcTemplate查询返回自定义对象集合代码示例

    使用JdbcTemplate查询返回自定义对象集合代码示例 JdbcTemplate是Spring框架中一个强大的数据库操作工具,它提供了许多便捷的方法来执行数据库操作。其中,使用JdbcTemplate查询返回自定义对象集合是非常常见的一种...

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

    在使用`jdbcTemplate`进行预编译查询时,我们通常会使用`query()`或`queryForList()`方法。例如: ```java String sql = "SELECT * FROM table WHERE id = ?"; Object[] params = {1}; List<MyObject> result = ...

    打印JdbcTemplate执行sql

    通过使用模板方法设计模式,`JdbcTemplate`提供了一系列静态和非静态的方法来执行各种SQL操作,如查询、更新、插入和删除。 为了打印`JdbcTemplate`执行的SQL语句,我们需要关注以下几点: 1. **日志配置**:首先...

    jdbctemplatedemo.zip

    JdbcTemplate是Spring提供的一个模板类,用于执行SQL查询和更新。它通过提供一套简单的API,使得数据库操作更加整洁且易于测试。在这个项目中,我们将看到如何使用JdbcTemplate来执行批处理操作,这在处理大量数据时...

    JavaEE JdbcTemplate的简单示例

    同样,我们也可以使用JdbcTemplate查询数据。以下是一个查询示例: ```java public List<User> getUsers() { String sql = "SELECT * FROM users"; return jdbcTemplate.query(sql, new UserRowMapper()); } ...

    利用spring的jdbcTemplate处理blob、clob

    spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。

    springmvc+jdbctemplate+mysql(采用注解方式)

    例如,一个简单的JdbcTemplate查询可能使用`@Repository`注解的类,其中的方法用`@Query`注解来执行SQL语句。 **MySQL** MySQL是一款广泛使用的开源关系型数据库管理系统。它的特点是速度快、稳定性好且易于使用。...

    使用Spring的JdbcTemplate实现分页功能

    使用Spring的JdbcTemplate实现分页功能

    jdbcTemplate分页彻底解决,使用游标滚动

    在`JdbcTemplate`中,我们可以使用`callProcedure()`或`execute()`方法执行带有游标的SQL查询。例如,可以创建一个存储过程,该过程返回一个可滚动的结果集。然后,`JdbcTemplate`会使用`ResultSetExtractor`接口来...

    JDBC性能优化.pdf

    - **解决方案**:尽可能提供非空参数,如`getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)`方法,应该明确指定catalog、schemaPattern等参数,减少模糊查询。...

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

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

    SpringMVC实现数据库连接--jdbcTemplate

    // 使用jdbcTemplate查询数据 @GetMapping("/list") @ResponseBody public List<User> getUsers() { String sql = "SELECT * FROM users"; return jdbcTemplate.query(sql, new UserRowMapper()); } // ...

    springboot-jpa加上jdbctemple

    2. 互补功能:JPA适合进行复杂的对象操作和事务管理,JdbcTemplate则适合执行特定的SQL查询或存储过程。 3. 故障隔离:当JPA遇到问题时,可以切换到JdbcTemplate,避免整个数据访问层的瘫痪。 在Spring Boot中集成...

    JdbcTemplate基本使用

    JdbcTemplate是Spring框架中用于简化JDBC操作的工具类,它提供了一种更安全、更易用的方式来执行数据库操作,避免了手动管理数据库资源和处理潜在的资源泄露问题。通过JdbcTemplate,开发者可以专注于SQL语句的编写...

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate支持分页查询,通过`SimpleJdbcCall`或`NamedParameterJdbcCall`类,可以配合`RowCallbackHandler`或`ResultSetExtractor`处理分页结果。此外,还可以使用`JdbcPagingItemReader`作为Spring ...

    Spring jdbctemplate + mysql 分页封装

    本文将深入探讨如何利用Spring的JdbcTemplate进行MySQL数据库的分页查询,并对其进行封装,提高代码的复用性和可维护性。 首先,了解Spring JdbcTemplate的基本用法。JdbcTemplate是Spring提供的一个模板类,用于...

    spring-jdbcTemplate实例工程

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

Global site tag (gtag.js) - Google Analytics