mysqljdbc:Spring源代码分析( 3):Spring
JDBC
疯狂代码 http://CrazyCoder.cn/ ĵ:http:/CrazyCoder.cn/Java/Article47623.html
下面我们看看Spring JDBC相关实现
在Spring中JdbcTemplate是经常被使用类来帮助用户操作数据库在JdbcTemplate为用户提供了许多便利
数据库操作思路方法比如查询更新等而且在Spring中有许多类似 JdbcTemplate模板,比如
HibernateTemplate等等 - 看来这是Rod.Johnson惯用手法般而言这种Template中都是通过回调CallBack类
使用来完成功能客户需要在回调接口中实现自己需要定制行为比如使用客户想要用SQL语句等不过往往
Spring通过这种回调实现已经为我们提供了许多现成思路方法供客户使用般来说回调使用方法采用匿名类方式
来实现比如:
代码
JdbcTemplate = JdbcTemplate(datasource);
jdbcTemplate.execute( CallBack{
public CallbackInterfacedoInAction{
......
//用户定义代码或者说Spring替我们实现代码
}
}
在模板中嵌入是需要客户化代码由Spring来作或者需要客户亲自动手完成下面让我们具体看看在
JdbcTemplate中代码是怎样完成使命我们举JdbcTemplate.execute为例这个思路方法是在JdbcTemplate中
被其他思路方法基本思路方法的客户往往用这个思路方法来执行基本SQL语句:
代码
public Object execute(ConnectionCallback action) throws DataAccessException {
//这里得到数据库联接
Connection con = DataSourceUtils.getConnection(getDataSource);
try {
Connection conToUse = con;
//有些特殊数据库需要我们使用特别思路方法取得datasource
(this.nativeJdbcExtractor != null) {
// Extract native JDBC Connection, castable to OracleConnection or the like.
评论1