一、作用:封装jdbc的操作
构造函数:
二、源代码的分析
三、实例
DataSourceUtils分析
TransactionSynchronizationManager分析
ConnectionHolder分析
构造函数:
public JdbcTemplate(DataSource dataSource) { //带数据源的构造函数
setDataSource(dataSource); //设置构造函数
afterPropertiesSet(); //在属性设置好后的处理
}
public void setDataSource(DataSource dataSource) { //设置数据源
this.dataSource = dataSource;
}
//afterPropertiesSet为JdbcAccessor中的函数
public void afterPropertiesSet() { //在属性设置好后的处理
if (getDataSource() == null) { //数据源为空则抛出llegalArgumentException异常
throw new IllegalArgumentException("Property 'dataSource' is required");
}
if (!isLazyInit()) { //如果不是延迟加载的 取得转换异常
getExceptionTranslator();
}
}
//取得连接
public static Connection getConnection(DataSource dataSource) throws CannotGetJdbcConnectionException {
try {
return doGetConnection(dataSource);
}
catch (SQLException ex) {
throw new CannotGetJdbcConnectionException("Could not get JDBC Connection", ex);
}
}
二、源代码的分析
三、实例
DataSourceUtils分析
TransactionSynchronizationManager分析
ConnectionHolder分析