public class Spring {
private static final String DataSourceUtils = null; private Object nativeJdbcExtractor;
public Object execute(ConnectionCallback action) throws DataAccessException { //这里得到数据库联接 Connection con = DataSourceUtils.getConnection(getDataSource()); try { Connection conToUse = con; //有些特殊的数据库,需要我们使用特别的方法取得datasource if (this.nativeJdbcExtractor != null) { // Extract native JDBC Connection, castable to OracleConnection or the like. conToUse = ((String) this.nativeJdbcExtractor).getNativeConnection(con); } else { // Create close-suppressing Connection proxy, also preparing returned Statements. conToUse = createConnectionProxy(con); } //这里调用的是传递进来的匿名类的方法,也就是用户程序需要实现CallBack接口的地方。 return action.doInConnection(conToUse); } catch (SQLException ex) { //如果捕捉到数据库异常,把数据库联接释放,同时抛出一个经过Spring转换过的Spring数据库异常, //我们知道,Spring做了一个有意义的工作是把这些数据库异常统一到自己的异常体系里了。 DataSourceUtils.releaseConnection(con, getDataSource()); con = null; throw getExceptionTranslator().translate(“ConnectionCallback”, getSql(action), ex); } finally { //最后不管怎样都会把数据库连接释放 DataSourceUtils.releaseConnection(con, getDataSource()); } }
这里有很多错误,请大家指正,我要一点一点修改。
本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:
快捷键Markdown及扩展
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。
本编辑器支持 Markdown Extra , 扩展了很多好用的功能。具体请参考Github.
表格
Markdown Extra 表格语法:
项目 价格
Computer $1600
Phone $12
Pipe $1
可以使用冒号来定义对齐方式:
项目 价格 数量
Computer 1600 元 5
Phone 12 元 12
Pipe 1 元 234
定义列表Markdown Extra 定义列表语法:项目1项目2定义 A定义 B项目3定义 C
定义 D
定义D内容
代码块
代码块语法遵循标准markdown代码,例如:
, param2=param1 > param2: (param2 – param1 + :pass>>> message = ”’interpreter… prompt”’脚注
生成一个脚注.
目录
用 [TOC]来生成目录:
数学公式
使用MathJax渲染LaTex 数学公式,,详见math.stackexchange.com.
行内公式,数学公式为:。块级公式:
思想如钻子,必须集中在一点钻下去才有力量