JdbcTemplate查询

原创 2007年10月15日 15:04:00

使用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对象

JdbcTemplate query查询方法

JdbcTemplate 中有很多的查询方法,整理几个比较常用的方法。 1、queryFor*方法很好用,简单强大。 2、query查询方法中带有回调接口有三个:ResultSetExtracto...
  • xiaoyangsavvy
  • xiaoyangsavvy
  • 2017-06-29 17:54:39
  • 10201

jdbcTemplate 实现查询返回list

package spring_jdbctemplate; import java.sql.ResultSet; import java.sql.SQLException; import java.u...
  • ustcyy91
  • ustcyy91
  • 2017-06-08 16:34:43
  • 3220

spring JdbcTemplate 查询,使用BeanPropertyRowMapper

应用:使用Spring的JdbcTemplate查询数据库,获取List结果列表,数据库表字段和实体类自动对应,可以使用BeanPropertyRowMapper。 注意:自动绑定,需要列名称和Ja...
  • limenghua9112
  • limenghua9112
  • 2015-04-17 14:26:54
  • 11338

使用jdbcTemplate查询返回自定义对象集合

1、在UserInfo.java中添加一个Map转换为UserInfo的方法 [java] view plain copy public static ...
  • silyvin
  • silyvin
  • 2017-05-19 17:21:35
  • 1973

Spring JdbcTemplate查询示例

这里有一些示例向你展示如何使用JdbcTemplate的query()方法从数据库中查询或提取数据。1. 查询单行有两种可以从数据库中查询或提取一行数据,并将它们转换成一个model对象。1.1 自定...
  • t894690230
  • t894690230
  • 2017-03-13 18:51:48
  • 625

Spring JDBC学习笔记(1):查询数据库数据之JdbcTemplate的使用

今天搬代码的时候遇到一个需求,要获取数据库的表和列的元信息,包括数据类型、约束、索引等的信息,因为之前使用JDBC实现过,但是当前在一个spring管理的工程中,觉得直接用JDBC怪怪的(其实是感觉有...
  • lmy86263
  • lmy86263
  • 2016-03-28 22:55:51
  • 2913

JdbcTemplate对数据库的查询与修改

JdbcTemplate对数据库的查询与修改 1. 配置文件config.properties的读取 2. DaoFactory设计 3. context.xml 4. DaoImpl的实现与分析...
  • BabyGoodMorning
  • BabyGoodMorning
  • 2016-08-26 23:42:31
  • 1154

Spring JdbcTemplate 多参数查询,以及like模糊查询处理方式

最近在使用spring 的 jdbctemplate 查询,在 Spring 的 IoC 容器中配置一个 JdbcTemplate 的 bean,将 DataSource 注入进来,然后再把JdbcT...
  • wagnteng
  • wagnteng
  • 2016-12-01 15:21:00
  • 7352

使用jdbcTemplate查询的三种回调

用于查询的回调接口定义主要有以下三种:org.springframework.jdbc.core.ResultSetExtractor.  基本上属于JdbcTemplate内部使用的Callback...
  • e5945
  • e5945
  • 2010-11-12 14:22:00
  • 12529

JdbcTemplate查询(Spring框架中的工具类)

JdbcTemplate是由Spring框架提供的一个工具类,他对Jdbc API提供了很好的封装,可以用来完全替代JDBC API1、导入包 spring.jar commons-logging...
  • taoxiuxia
  • taoxiuxia
  • 2015-10-04 13:38:46
  • 540
收藏助手
不良信息举报
您举报文章:JdbcTemplate查询
举报原因:
原因补充:

(最多只允许输入30个字)