springjdbcTemplate源码剖析_第1页
springjdbcTemplate源码剖析_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、springjdbcTemplate源码 剖析本文浅析spring jdbcTemplate源码,主展是字习其没计用«。模板犋式、巧妙的回调.jdbcTemplate 类结拘JdbcOpertions execute(Strirg sql)IdbcTenplateexecute(5tring sql)、JdbcOperations:接口定义了方法,如<T>T execute(S!atementCallback<T> action) throws DataAccessException;void execute(Stnng sql) throws DataAcc

2、essExceplion;<T> T query(String sql, ResultSetExtradorcT> rse) throws DataAccessException:、JdbcAccessor:定义了数据源。I实现JdbcOperations接口定义的方法二 jdbcTemplatG 横板攢式1、我们番下execute(StatementCallback<T> action)实现(核心) public <T> T exec ute< St atom entCallback<T> action) throws DataAc

3、cessException ( Assert.naNulHactwnobject must not be null: Cormeclion ccr = DataSourceUtils.getConneclion(getDataScurce()> Slatement stmt = nu>tryCormecton ccxiToUse 番 con;If (this.natrveJdbcExtractor ?= null &&this.nabveJdbcExtractor.isNativeConnectionNecessaryForNativeSlalementsOH co

4、nToUse = ths natrveJdbcExtractor.getNativeConnection(con); stmt = conToUse createStatementO;applyStatementSettrgslstmt);Statement stmtToUse stmtIf (tNs.natrvJdbcExtractornuli> stmtToUse «Ite.nativeJdbcExtractor.getNatrveStatementlstnitl;T resuk aclion.doinSlatement(slmtToUse); f/ 回ithandleWa

5、rn4ngs(stim):rrtum result; catch (SOLException w) JdDclXiis.ck»eState<nent(stmt);stmt nul;DalaSourceUiils.re4easeConnection(con getDataSource);con - null;throw gotExceptionTranslatarO.translatofStatofnontCallback*, gatSql(action). ex|;finally (JdbcUtils ck»eSutetnentistmt):DataSouceUlil

6、s.re4eMeConnection(con. getDataSourceO);2s 內看下 execute(String sql> 源码public vod exBCUtefinai Stnng sq|) throws DataAccessException (rf (logger isDe<xigEnab*od()| logger debugCExeculing SQL statement sql 丁); class ExaculeSlatementCallback implomenls Sta1ementCallback<Ot|ect>. SqIPrwider |

7、 O/em(Jepubic Object dolnStalefnent(Stalement stmt) throws SQLException stmt execute<sql): /I JAVA jdbc return nUI;O0mdepublic Smog getSql()(return 城executelnew ExecuteSta:ementCallback(); / ift!用上ifT execute(StaiefnentCailback<T> acticxM由此.可以知遍,我们平时常用的xGeut(final String sql)方法,茌SS我们做了很多事情.

8、如创建默认的ExecutoSiatementCallback.采 用回调的方式.由模板去执行sql,关闭链接3、T query (final Stnng sql, final ResultSetExtractor<T> rse)源码实现EOvemdopublic <T> T query (final String sql. final Res uit Set E x trac tor<T > rsej throws DataAccessException Assert notNulHsqi. 'SOL must not be nur): Assert

9、.notNuIHrse. -ResunSetExtractor must not De null");if (loggerjsDetxjgEnabled() logger deOugExecuting SOL query sql 门;class QuefySlatementCallback implements StatefnentCallback<T>. ScProvder |Oemc»public T dolnStatemernfStatement stmt) throws SOLExcepnon ( ResultSet rs « nuK;t<

10、;yrs « slmt.executeOuefy(sql); ResultSet rsToUse rs;tt (nativeJdbcExtractor, nul) |nToUse ruitrvcfcx:Extractor.o«NativeResuitSGt(rsj: Ireturn rse extractData(rsToUse);fnaly( JdbcUiils.claseResuhSet(rs);Oemctepublic Stnng getSql()(return 的: > return executftnew Query Statement Cal lback(

11、);View Code4、update(final String sql)源码public mt update(final String sql) throws DataAccessException Assert notNullfsqi *SOL must not be nulO:"ower. * s DeOugE nawed() UloggefSQL update sql class UpdateStaiomentCaitoack implements StmementCaiiMckcimegeo. SqiProvKMf (Xemdepublic Integer dolnStafement(S!atement stmt) throws SQLException ( imt rows stmi.execjteUpdatMsqO:i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论