Spring JDBC
2020-04-02 18:46:49 0 举报
Spring JDBC时序图
作者其他创作
大纲/内容
ps.getGeneratedKeys()能过得到自增id的ResultSet,通过ResultSetExtractor来解析获得保存自增id的map
将生成的Connection放入ConnectionHolder,再放到TransactionSynchronizationManager的ThreadLocal的resource里面
调用回调函数createPreparedStatement
ps = psc.createPreparedStatement(con)
doGetConnection(datasource)
getConnection
TransactionSynchronizationManager里面维护了一系列ThreadLocal成员变量,从resources里面拿出DataSource
ResultSet keys = ps.getGeneratedKeys()
JdbcTemplate
JdbcTemplate继承了JdbcAccessor和接口JdbcOperation。JdbcAccessor主要是对DataSource进行管理和配置。JdbcOperation主要是通过JDBC操作数据库的基本操作方法。通过JdbcTemplate提供这些方法的实现Spring中设计和实现好的模板类,都是通过回调函数的使用来完成功能,只需要在回调接口中实现自己需要的定制的行为。
DataSourceUtils
fetchConnection(dataSource)
action.doInPreparedStatement(ps)
new RowMapperResultSetExtractor()..extractData(keys)
TransactionSynchronizationManager.getResource(dataSource)
调用dataSource.getConnection()获得Connection
stmt.setFetchSizestmt.setMaxRowsstmt.setQueryTimeout
closeStatementreleaseConnection
ps.executeUpdate()
applyStatementSettings()
调用回调函数action.doInPreparedStatement(ps)
0 条评论
下一页