Spring 的Jdbc Template
JdbcTemplate
jdbctemplate 是spring 框架中提供的一个模板对象,是对原始繁琐的jdbc API 对象的简单封装
核心对象
jdbcTemplate jdbcTemplate = new JdbcTemplate(DataSource dataSource)
核心方法
int update():执行增删改语句
List<T> query() 查询多个
T queryForObject() 查询一个
new BeanPropertyRowMapper<>(): 实现ORM 映射封装
Spring 事务
Spring 中的事务控制方式
编程式
直接把事务的代码和业务代码耦合到一起
声明式
直接采用配置的方式实现事务控制,业务代码和事务代码实现解耦合,使用AOP思想
编程式事务控制相关对象
PlatformTransactionManager
platformTransactionManager 接口,是spring 的事务管理器,
- transactionStatus getTransaction(Transactiondefinition definition); 获取事务状态信息
- void commit(TransactionStatus status); 提交
-
void rollabck(TransactionStatus status);回滚
Dao 层是jdbcTemplate 或mybatis 是 DataSourceTransactionManager; Dao 层是Hibernate时,HibernateTransactionManager Dao 层是JPA 时,JpaTransactionManager
TransactionDefinition
TransactionDefinition接口 提供事务的定义信息 int getIsolationLevel() 获得事务隔离级别 int getPropogationBehavior() 获得事务的传播行为 int getTimeout() 获得超时时间 boolean isReadOnly 是否只读
事务隔离级别
事务隔离级别,设置隔离级别,可以解决事务并发产生的问题如脏读,不可重复
基于XML 声明式事务控制
底层是采用AOP思想来实现 1. 核心业务代码编写 2. 事务增强代码编写 3. 切面配置
引入tx
事务管理器通知配置
事务管理器AOP 配置