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的用法吧,看来框架的东西也是需要去理解一下的。
评论留言