`

[转] Spring的jdbcTemplate使用

阅读更多

Spring的jdbcTemplate使用

 

 

1、jdbcTemplate.queryForInt()和jdbcTemplate.queryForLong()    
--使用queryForInt返回user表中的记录数量,queryForInt搭配这样的sql可以在分页的时候计算总记录数    
jdbcTemplate.queryForInt("select count(*) from user");    
    
2、jdbcTemplate.queryForObject()    
--本质上和queryForInt相同,只是可以返回不同的对象,例如返回一个String对象    
String name = (String) jdbcTemplate.queryForObject(  --3个参数,1、sql 2、要传递的参数数组 3、返回来的对象class    
"SELECT name FROM USER WHERE id = ?",      
new Object[] {id},      
java.lang.String.class);    
    
3、jdbcTemplate.queryForList(???)    
--返回一个装有map的list,每一个map是一条记录,map里面的key是字段名    
List rows = jdbcTemplate.queryForList("SELECT * FROM user");  --得到装有map的list    
for(int i=0;i<rows.size();i++){                   --遍历    
Map userMap=rows.get(i);    
System.out.println(userMap.get("id"));      
System.out.println(userMap.get("name"));      
System.out.println(userMap.get("age"));    
}    
    
    
4、jdbcTemplate.queryForMap(SQL)    
--这个查询只能是查询一条记录的查询,返回一个map,key的值是column的值    
Map map = jdbcTemplate.queryForMap("select count(*) as keyval from user");    
map.get("keyval")    
    
    
5、jdbcTemplate.queryForRowSet(???)    
--返回一个RowSet   然后调用.getString或者getInt等去取值    
    
    
    
    
6、jdbc1.query(sql, new RowCallbackHandler()    
--返回一个ResultSet对象, processRow有自动循环的机制,它会自动执行processRow中的语句直到    
--rs的size执行完了为止。我们可以在这其中用list完成对象的转移,只不过list要用final来修饰    
jdbc1.query(sql, new RowCallbackHandler() { //editing    
            public void processRow(ResultSet rs) throws SQLException {    
        VideoSearch vs = new VideoSearch();    
        vs.setRECORDINGFILENAME(rs.getString("RECORDINGFILENAME"));    
        vs.setCALLID(rs.getString("CALLID"));    
        list.add(vs);    
    
    }    
    }    
    
说明:    
JDBCTemplate的使用方法:    
在ApplicationContext.xml中定义一个jdbcTemplate的节点,使用POJO注入,获得注入后可以执行操作    
不需要继承什么基类    
    
<bean id="jdbcTemplate"    
class="org.springframework.jdbc.core.JdbcTemplate">                
      <property name="dataSource" ref="dataSource"/>             
</bean>    
    
SqlRowSet rs = jdbcTemplate.queryForRowSet(sql, params);    
jdbcTemplate有很多的ORM化回调操作将返回结果转为对象列表,    
但很多时候还是需要返回ResultSet,Spring有提供一个类似ResultSet的,实现JDBC3.0 RowSet接口的Spring SqlRowSet    
注意    
jdbcTemplate尽量只执行查询操作,莫要进行更新,否则会破坏Hibernate的二级缓存体系  

 

分享到:
评论

相关推荐

    基于注解的Spring JdbcTemplate

    本教程将深入探讨如何使用基于注解的Spring JdbcTemplate进行数据库操作,特别适合初学者入门学习。 ### 1. Spring JdbcTemplate简介 Spring JdbcTemplate提供了一个面向对象的接口,用于执行SQL查询、更新和存储...

    spring-jdbcTemplate实例工程

    在这个实例工程中,我们将深入探讨Spring JdbcTemplate的基本使用、优势以及常见操作。 一、Spring JdbcTemplate简介 Spring JdbcTemplate的出现是为了弥补原生JDBC在编码上的繁琐,它通过模板方法模式,将SQL执行...

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate能够自适应多种数据库,这是因为它的底层使用了JDBC的规范,而不同的数据库厂商都实现了JDBC API。这使得你可以使用相同的代码来连接MySQL、Oracle、PostgreSQL等不同类型的数据库,只需更换相应...

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

    Struts2、Spring和Spring JDBC Template是Java Web开发中常用的三个框架,它们分别负责不同的职责。Struts2作为MVC(Model-View-Controller)框架,主要处理前端请求和业务逻辑;Spring则是一个全面的后端框架,提供...

    Spring JdbcTemplate

    这样,整个应用就可以通过Spring的依赖注入机制来获取并使用JdbcTemplate实例。 例如,一个简单的`applicationContext.xml`配置片段可能如下: ```xml &lt;bean id="dataSource" class="org.springframework.jdbc....

    Spring JDBCTemplate连接池jar包

    总之,Spring JDBCTemplate结合连接池提供了一个高效且易于使用的数据库访问层,它降低了数据库操作的复杂性,同时也提升了系统的性能。正确配置和使用这些库,可以极大地优化我们的数据库应用程序。

    Spring JdbcTemplate 常用方法整理

    `JdbcUtils.java`可能是提供了一些数据库连接和JdbcTemplate使用的辅助方法,如数据库连接池的配置,或者封装了JdbcTemplate的执行方法,以提高代码复用性。例如: ```java public class JdbcUtils { private ...

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

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

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

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

    使用Spring的JdbcTemplate实现分页功能

    使用Spring的JdbcTemplate实现分页功能

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

    JdbcTemplate使用PreparedStatement来执行SQL,自动防止SQL注入攻击,因为它会正确地转义参数值。 7. 错误处理 如果数据库操作失败,JdbcTemplate会抛出异常,如`DataAccessException`,使得我们可以快速定位并处理...

    Spring JdbcTemplate查询实例

    Spring JdbcTemplate是Spring框架中用于简化数据库操作的一个重要组件,它是Spring对JDBC的轻量级封装,旨在提供一种结构良好、易于使用的SQL执行机制,同时保持了JDBC的灵活性。在本实例中,我们将深入探讨Spring ...

    Spring JdbcTemplate例子

    在本例中,我们将深入探讨Spring JdbcTemplate的工作原理、使用方式以及它的优点。 首先,JdbcTemplate的核心理念是通过预编译的SQL语句和参数绑定来防止SQL注入攻击,同时提供事务管理的支持。它提供了大量方法来...

    spring JdbcTemplate query方法使用示例

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

    模仿spring jdbcTemplate的实现

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

    Spring JdbcTemplate api

    在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,它采用了模板模式来分离数据库访问中的不变和可变部分,提供了一种更加健壮且易于使用的数据访问机制。`JdbcTemplate`负责处理资源的获取、关闭以及...

    配制Spring事务和JdbcTemplate使用

    配制Spring事务和JdbcTemplate使用 配制Spring事务和JdbcTemplate使用

    使用Spring的JdbcTemplate调用Oracle的存储过程

    使用Spring的JdbcTemplate调用Oracle的存储过程

    Spring JdbcTemplate.batchUpdate 例子

    在Spring框架中,`JdbcTemplate`是用于简化Java数据库连接(JDBC)操作的一个核心组件。这个类提供了很多方法来执行SQL查询、更新语句,包括批处理操作。本篇文章将详细探讨`batchUpdate`方法及其在实际开发中的应用...

    spring jdbcTemplate 源码

    本篇将深入探讨Spring JDBCTemplate的使用及其源码解析,帮助你理解其背后的机制。 首先,让我们了解在不使用JDBCTemplate时,传统的JDBC操作通常涉及以下步骤:加载驱动、建立数据库连接、创建Statement或...

Global site tag (gtag.js) - Google Analytics