一、基于aspectj 的注解aop
1、使用注解的实现aop操作
第一步:创建对象
第二部:在spring的配置文件中开启aop操作
第三步:在增强的类上面使用注解来完成aop操作
第四步:写测试类,查看测试结果
二、spring的JdbcTemplate操作
1、spring框架一站式框架
(1)针对javaee三层,每一层都有解决技术
(2)在dao层,使用jdbcTemplate
2、spring对不同的持久化层技术都进行封装(持久化层就是数据层)
其中jdbcTemplate是对Jdbc进行封装
3、jdbcTemplate使用和dbutils使用很相似,都是对数据库进行crud操作
(1)导入jdbcTemplate使用的jar包
(2)创建对象,设置数据库信息
(3)创建jdbcTemplate对象,设置数据源
(4)调用jdbcTemplate对象里面的方法实现操作
(a)数据库添加数据
数据库中的数据显示
(b)数据库修改数据
数据库中的数据
(c)删除数据
数据库中的数据,没有lucy那一条数据
(d)使用jdbcTemplate实现查询操作
jdbcTemplate实现查询,有接口RowMapper,
jdbcTempalte针对这个接口没有提供实现类,得到不同的类型数据需要自己进行数据封装
1)查询具体实现
第一个: 查询返回一个值
(1)第一个参数是sql语句
(2)第二个参数是返回类型的class
数据库中的数据
第二个 查询返回对象
(1)使用jdbc实现
运行结果
(2)使用jdbcTemplate实现
选择的方法
第三个 查询返回list集合
(1)sql语句
(2)RowMapper接口,自己写类实现数据封装
(3)可变参数
运行结果
三、Spring配置连接池和dao使用jdbcTemplate
1、spring配置c3p0连接池
第一步 导入jar包
第二步 创建spring配置文件,配置连接池
c3p0原始的连接数据库的方式
(1)把代码在配置文件中进行配置
(2)在dao中使用jdbcTemplate
(a)创建service和dao,配置service和dao对象,在service注入dao对象
(b)创建jdbcTemplate对象,把模板注入到dao里面
(3)把dataSource 传到jdbcTemplate里面
第三步:各个类中的代码
service类中的代码
dao类中的代码
测试类中的代码
结果:数据库中的数据
四、Spring中的事务管理
1、事务概念
1、什么是事务
2、事务特性
3、不考虑隔离性产生读问题
4、解决读问题
(1)设置隔离级别
2、spring事务管理
a、spring事务管理两种方式
第一种 编程式事务管理(不用)
第二种声明式事务管理
(1)基于xml配置文件实现
(2)基于注解实现
b、spring事务管理的api介绍
spring针对不同的dao层框架,提供接口不同的实现类
(2)首先 配置事务管理器
搭建转账环境
1)创建数据库的表,添加数据
2)创建service和dao类,完成注入关系以及最终的实现
i)service层又叫业务逻辑层
ii)dao层,单纯对数据库操作层,在dao层不添加业务
配置文件
测试类
数据库中的数据
3)产生问题
(i)如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了
4)解决
(i)添加事务解决,出现异常进行回滚操作
声明式事务管理(xml配置)
1、配置文件方式使用aop思想配置
第一步 配置事务管理器
第二步 配置事务增强
第三步 配置切面
测试结果
首先把数据库中的数据修改过来
service类中出现异常
运行报错并且数据库中的数据不变,说明事务起了作用
声明式事务管理(注解)
第一步 配置事务管理器
第二步 开启事务注解
第三步 在要使用事务的方法上所在类上面添加注解
运行结果与xml配置方式一样。