JdbcTemplate 使用了模版模式和回调函数:
来源:互联网 发布:淘宝管制刀具 编辑:程序博客网 时间:2024/06/06 08:50
1.T execute(ConnectionCallback<T> action) 主要结构 使用了ConnectionCallback中的方法作为回调方法 public <T> T execute(ConnectionCallback<T> action) { Connection con = DataSourceUtils.getConnection(getDataSource()); Connection conToUse = con; if (this.nativeJdbcExtractor != null) { // Extract native JDBC Connection, castable to OracleConnection or the like. conToUse = this.nativeJdbcExtractor.getNativeConnection(con); } else { // Create close-suppressing Connection proxy, also preparing returned Statements. conToUse = createConnectionProxy(con); } return action.doInConnection(conToUse); } } 2. T execute(StatementCallback<T> action) public <T> T execute(StatementCallback<T> action) throws DataAccessException { Connection con = DataSourceUtils.getConnection(getDataSource()); Statement stmt = null; Connection conToUse = con; if (this.nativeJdbcExtractor != null && this.nativeJdbcExtractor.isNativeConnectionNecessaryForNativeStatements()) { conToUse = this.nativeJdbcExtractor.getNativeConnection(con); } stmt = conToUse.createStatement(); applyStatementSettings(stmt); Statement stmtToUse = stmt; if (this.nativeJdbcExtractor != null) { stmtToUse = this.nativeJdbcExtractor.getNativeStatement(stmt); } T result = action.doInStatement(stmtToUse); handleWarnings(stmt); return result;}3. execute(final String sql) :使用内部类的回调public void execute(final String sql) throws DataAccessException { if (logger.isDebugEnabled()) { logger.debug("Executing SQL statement [" + sql + "]"); } class ExecuteStatementCallback implements StatementCallback<Object>, SqlProvider { @Override public Object doInStatement(Statement stmt) throws SQLException { stmt.execute(sql); return null; } @Override public String getSql() { return sql; } } execute(new ExecuteStatementCallback()); }
0 0
- JdbcTemplate 使用了模版模式和回调函数:
- 模版方法+回调函数
- 学习JdbcTemplate 时 用到回调函数
- spring中使用了回调函数
- 鼠标回调函数和模式
- 回调函数和观察者模式
- VC回调函数定义和使用
- VC回调函数定义和使用
- 回调函数定义和使用
- Java回调函数使用和剖析
- 回调函数的定义和使用
- javascript 理解和使用回调函数
- Java设计模式-回调函数和观察者模式
- 使用回调函数
- 回调函数使用
- C++回调函数模式的使用.
- 回调函数在非阻塞模式中的使用
- 回调函数在非阻塞模式中的使用
- 调试JDK源码-ConcurrentHashMap实现原理
- 理解矩阵乘法
- 9大排序实现以及各自特点
- UIWebView的基础使用
- HTML基础语法总结
- JdbcTemplate 使用了模版模式和回调函数:
- iOS改变Navigationbar透明度
- PHP 命名空间(namespace)
- OS X文本编辑器引号自动变化的问题
- iOS第三方框架集合
- Partition List
- C语言指针导学(4)——分清函数指针和指针函数
- docker 使用笔记
- 传奇生物-龙