20201126_陈宇_

日志

学习总结:

JdbcTemplate:

​ 它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装

​ 操作关系型数据的:

​ JdbcTemplate

​ HibernateTemplate

​ 操作 nosql 数据库的:

​ RedisTemplate

​ 操作消息队列的:

​ JmsTemplate

​ 导包:

​ spring-jdbc-5.0.2.RELEASE.jar 和 spring-tx-5.0.2.RELEASE.jar (它是和事务相关的)

配置数据源:

​ C3P0 、DBCP和Druid都可以

配置 C3P0 数据源

配置 DBCP 数据源:

配置 spring 内置数据源:

​ spring 框架也提供了一个内置数据源,我们也可以使用 spring 的内置数据源,它就在 spring-jdbc-5.0.2.REEASE.jar 包中

配置 Druid内置数据源:

引入外部的属性文件:

查询一个操作:

​ 使用RowMapper的方式(常用)

​ 使用 ResultSetExtractor 的方式(不常用)

在 dao 中使用 JdbcTemplate:

​ 第一种方式:在 dao 中定义 JdbcTemplate

​ 第二种方式:让 dao 继承 JdbcDaoSupport

​ 区别:

​ 第一种在 Dao 类中定义 JdbcTemplate 的方式,适用于所有配置方式(xml 和注解都可以)

​ 第二种让 Dao 继承 JdbcDaoSupport 的方式,只能用于基于 XML 的方式,注解用不了(因为其 setDataSource、setJdbcTemplate方法是final的)

Spring 事务控制我们要明确的:

​ 第一:JavaEE 体系进行分层开发,事务处理位于业务层,Spring 提供了分层设计业务层的事务处理解决方案

​ 第二:spring 框架为我们提供了一组事务控制的接口,这组接口是在 spring-tx5.0.2.RELEASE.jar 中

​ 第三:spring 的事务控制都是基于 AOP 的,它既可以使用编程的方式实现,也可以使用配置的方式实现

PlatformTransactionManager:

​ 此接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法

​ 真正管理事务的对象:

​ org.springframework.jdbc.datasource.DataSourceTransactionManager

​ 使用 SpringJDBC 或 iBatis(Mybatis) 进行持久化数据时使用

​ org.springframework.orm.hibernate5.HibernateTransactionManager

​ 使用 Hibernate 进行持久化数据时使用(需要导入spring-orm包)

TransactionDefinition:

​ 它是事务的定义信息对象

​ 事务的隔离级别:

​ 事务的传播行为:

​ 超时时间:

​ 默认值是-1,没有超时限制。如果有,以秒为单位进行设置

​ 是否是只读事务:

​ 建议查询时设置为只读

​ TransactionStatus:

​ 此接口提供的是事务具体的运行状态

配置事务的属性:

@Transactional 注解:

学习心得:

​ 通过今天的学习发现其实很多东西懂处在似懂非懂的状态,感觉就是知道一点,但是有些东西又不是很理解,可能这就是没怎么练习或者是练习的时候不够专心,没怎么去理解那些API的用法吧,看来框架的东西也是需要去理解一下的。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1