核心类jdbctemplate实现jdbc操作

上传人:wt****50 文档编号:34299794 上传时间:2018-02-22 格式:DOC 页数:6 大小:37.50KB
返回 下载 相关 举报
核心类jdbctemplate实现jdbc操作_第1页
第1页 / 共6页
核心类jdbctemplate实现jdbc操作_第2页
第2页 / 共6页
核心类jdbctemplate实现jdbc操作_第3页
第3页 / 共6页
核心类jdbctemplate实现jdbc操作_第4页
第4页 / 共6页
核心类jdbctemplate实现jdbc操作_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《核心类jdbctemplate实现jdbc操作》由会员分享,可在线阅读,更多相关《核心类jdbctemplate实现jdbc操作(6页珍藏版)》请在金锄头文库上搜索。

1、核心类 JdbcTemplate 实现 JDBC 操作JDBC 框架中最主要的类是 JdbcTemplate,可以在 org.springframework.jdbc.core 包中找到它。JdbcTemplate 类在内部已经处理完了数据库资源的建立和释放,并可以避免一些常见的错误,例如关闭连接、抛出异常等。因此,使用JdbcTemplate 类简化了编写 JDBC 时所使用的基础代码。JdbcTemplate 类可以直接通过数据源的引用实例化,然后在服务中使用,也可以通过依赖注入的方式在ApplicationContext 中产生并作为 JavaBean 的引用给服务使用。注意:数据源应当

2、总是作为一个 JavaBean 在 ApplicationContext 中配置。JdbcTemplate 类执行了 JDBC 的核心工作流程,例如应用程序要创建和执行 Statement 对象,只须在代码中提供 SQL语句。还有这个类可以执行 SQL 中的查询、更新或者调用存储过程等操作,同时生成结果集的迭代数据。它还可以捕捉 JDBC 的异常并将它们转换成 org.springframework.dao 包中定义的通用的能够提供更多信息的异常体系。在实际应用中使用这个类的时候,只须根据明确定义的规范来实现回调接口。例如在使用 PreparedStatementCreator回调接口时,必须

3、创建一个由 JdbcTemplate 类所提供的连接对象并建立一个 PreparedStatement 对象,同时提供 SQL语句和任何必要的参数。下面介绍 JdbcTemplate 类中的常用方法。1JdbcTemplate 类中的常用方法这些方法只适合简单的数据查询和更新操作, JdbcTemplate 还有很多方法来满足更高级的处理要求,例如回调接口的使用以及用于处理返回结果的方法等,这些方法的使用将在后面介绍。2用 JdbcTemplate 类写入数据JdbcTemplate 类进行数据写入主要是通过 update 方法,它实现了很多方法的重载特征,在前面使用了 JdbcTemplat

4、e类写入数据的常用方法 update(String),除了基本方法之外,JdbcTemplate 类中也使用了更高一级的写入数据方式,即使用几个回调接口来向数据库中写入数据,每一个接口的用法都有不同之处,首先介绍两个比较简单的接口,然后讨论 JdbcTemplate 类所提供的一些简洁处理。 update(PreparedStatementCreator)方法这个接口的实现负责创建预处理对象 PreparedStatement,它提供了一个方法:public PreparedStatement createPreparedStatement(Connection con) throws SQL

5、Exception;当实现这个接口时,要从 Connection 参数创建并返回一个 PreparedStatement 对象,但无须考虑异常的处理,这样在执行 JdbcTemplate 类的 update()方法时,可以用这种方式来完成对数据表的添加,关键代码如下:jtl.update(new PreparedStatementCreator()public PreparedStatement createPreparedStatement(Connection con) throws SQLException String sql =INSERT INTO system_users(use

6、rname,password) VALUES(?,?);PreparedStatement ps = con.prepareStatement(sql);ps.setString(2,明日科技);ps.setString(3,mrsoft);return ps;);update(String sql, PreparedStatementSetter )方法这个接口负责为预处理对象 PreparedStatemen 进行参数赋值,它提供了一个方法:public void setValues(PreparedStatement pst) throws SQLException;当实现这个接口时,要

7、调用参数 PreparedStatement 对象的 setString()方法为 SQL 语句进行参数赋值,这样在执行JdbcTemplate 类的 update()方法时,可以通过这种方式来处理,其代码如下:jtl.update(INSERT INTO system_users(userid,username,password) VALUES(?,?,?),new PreparedStatementSetter()public void setValues(PreparedStatement pst) throws SQLException pst.setString(2,明日科技);ps

8、t.setString(3,mrsoft); );update(String, Object, int)方法将前面的代码修改成如下代码:String sql = insert into system_users(username,password) values(?,?);Object params = new Object明日科技,mrsoft;int types = new intTypes.VARCHAR,Types.VARCHAR,Types.VARCHAR;jtl.update(sql,params,types);这是一种非常简洁的代码,JdbcTemplate 类在内部已经完成了创

9、建 PreparedStatementCreator 和PreparedStatementSetter 的对象,在使用的时候只要求提供相应的 SQL 语句和参数即可完成数据写入操作。3用 JdbcTemplate 类读取数据通过 JDBC 原始代码在数据库读取数据的时候需要通过 executeQuery()方法获得结果集对象 ResultSet,这是任何读取操作所必须执行的一个步骤,在 Spring 的 JDBC 框架中已经完成了这一步的处理工作,在使用 JdbcTemplate 进行读操作的时候最常用的就是 query()方法,Spring 提供了很多 query()方法的实现,用于获取不同

10、的结果集,例如在上面实例中使用的 queryForList():List userList = jtl.queryForList(select * from system_users);这个方法从数据中读取了 system_users 表中的所有记录并将结果存储在 List 集合中返回到调用者。本示例使用 JdbcTemplate 中的 update()、delete()和 queryForList()等方法来完成数据的添加、修改、删除和查询功能,编写完成之后在页面中输出执行结果。(1)在 applicationContext.xml 的配置文件中首先配置一个 JavaBean,它的名字为 j

11、dbcTemplate,对应的 class 值为 org.springframework.jdbc.core.JdbcTemplate,同时设置它的 dataSource 属性,配置一个名字为 dataSource 的JavaBean,并为属性进行赋值,具体代码如下:com.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=db_JSDQ30sa(2)完成配置文件之后,编写一个 index.jsp 首页文件,在这个页面中首先引入 Spring 框架中的相应类包以及系统类包,然后通过 Spring 的配置文件获得 jdbcTemplate 类,接着执行相应的方法,关键代码如下:添加数据后的结果如下:ID用户名密码); effectrow = jtl.update(delete from tb_users where username =?,new Object明日科技 2);out.println(删除名称为“明日科技 2”的记录,影响 + effectrow + 行数据);%修改数据后的结果如下:ID用户名密码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号