看了我前面几篇文章的朋友我相信基础已经有了,不知道大家在使用JDBC连接数据库的时候是不是厌倦了,不停的捕获异常不停的try catch 反正我是厌倦了,代码没写多少,一大半是异常的抓取,Spring的高手们也知道我们厌倦了,所以他们给我们一个JdbcTemplate类这个类把所有的异常抓取代码封装在类的内部,我们要做的只是处理业务逻辑就行了,好了,我来给大家介绍一下吧
org.springframework.jdbc.core
Class JdbcTemplate
java.lang.Object org.springframework.jdbc.support.JdbcAccessor org.springframework.jdbc.core.JdbcTemplate
-
All Implemented Interfaces:
- InitializingBean, JdbcOperations
JdbcTemplate类的一个方法
Object | execute(PreparedStatementCreator psc, PreparedStatementCallback action) Execute a JDBC data access operation, implemented as callback action working on a JDBC PreparedStatement. |
用于对
PreparedStatement对象的处理可是该如何处理呢?看看
PreparedStatementCreator类吧
org.springframework.jdbc.core
Interface PreparedStatementCreator
这个接口只有一个方法
PreparedStatement | createPreparedStatement(Connection con) Create a statement in this connection. |
这个方法对一个Connection连接进行处理返回一个
PreparedStatement对象给JdbcTemplate
那么execute方法的另一个参数
PreparedStatementCallback
又是干什么的呢?
org.springframework.jdbc.core
Interface PreparedStatementCallback
-
All Known Implementing Classes:
- AbstractLobCreatingPreparedStatementCallback
这个接口也只有一个方法
Object | doInPreparedStatement(PreparedStatement ps) Gets called by JdbcTemplate.execute with an active JDBC PreparedStatement. |
这个方法对PreparedStatement对象进行处理返回一个结果,这下大家可能有一点了解了,不了解也没事,因为一开始我就不太明白,看看我的代码吧
现在还要向大家介绍JdbcTemplate类的另一个方法
int[] | batchUpdate(String sql, BatchPreparedStatementSetter pss) Issue multiple updates on a single PreparedStatement, using JDBC 2.0 batch updates and a BatchPreparedStatementSetter to set values. |
批量更新这个方法接受一个
BatchPreparedStatementSetter类对象
org.springframework.jdbc.core
Interface BatchPreparedStatementSetter
int | getBatchSize() Return the size of the batch. |
void | setValues(PreparedStatement ps, int i) Set values on the given PreparedStatement. |
这个接口有两个方法一个是返回一个整数告诉JdbcTemplate需要更新几条信息,另一个方法是对PreparedStatemten对象设置值,看代码...
对字符串进行拆分赋值
Junit测试运行类
核心类
运行结果
我的MyPreparedStatementCreator类
我的MYPreparedStatementCallback类
添加的XML1
添加的XML2
XML配置文件
本文出自 “绝缘材料” 博客,请务必保留此出处http://tonyaction.blog.51cto.com/227462/42042