今天内容介绍
1 基于aspectj的注解aop操作(会用)
2 spring的jdbcTemplate操作 (1)实现crud操作 - 增加、修改、删除,调用模板update方法 - 查询某个值时候,调用queryForObject方法 --- 自己写实现类封装数据 - 查询对象,调用queryForObject方法 - 查询list集合,调用query方法
3 spring配置连接池 (1)配置c3p0连接池 (2)dao注入jdbcTemplate操作
4 spring事务管理 (1)事务概念 (2)spring进行事务管理api - spring针对不同的dao层框架提供不同的实现类 (3)spring进行事务配置(声明式) - 基于xml配置文件 - 基于注解方式 |
基于aspectj的注解aop
1 使用注解方式实现aop操作 第一步 创建对象
第二步 在spring核心配置文件中,开启aop操作
第三步 在增强类上面使用注解完成aop操作 |
Spring的jdbcTemplate操作
1 spring框架一站式框架 (1)针对javaee三层,每一层都有解决技术 (2)在dao层,使用 jdbcTemplate
2 spring对不同的持久化层技术都进行封装 (1)jdbcTemplate对jdbc进行封装
3 jdbcTemplate使用和dbutils使用很相似,都数据库进行crud操作 |
增加
1 导入jdbcTemplate使用的jar包
2 创建对象,设置数据库信息 3 创建jdbcTemplate对象,设置数据源 4 调用jdbcTemplate对象里面的方法实现操作
|
修改
删除
查询
1 使用jdbcTemplate实现查询操作
2 查询具体实现 第一个 查询返回某一个值 (1)第一个参数是sql语句 (2)第二个参数 返回类型的class
Jdbc实现
第二个 查询返回对象 第一个参数是sql语句 第二个参数是 RowMapper,是接口,类似于dbutils里面接口 第三个参数是 可变参数
第三个 查询返回list集合
|
Spring配置连接池和dao使用jdbcTemplate
1 spring配置c3p0连接池 第一步 导入jar包 第二步 创建spring配置文件,配置连接池 (1)把代码在配置文件中进行配置
2 dao使用jdbcTemplate (1)创建service和dao,配置service和dao对象,在service注入dao对象 (2)创建jdbcTemplate对象,把模板对象注入到dao里面 (3)在jdbcTemplate对象里面注入dataSource |
Spring的事务管理
事务概念
1 什么事务
2 事务特性
3 不考虑隔离性产生读问题
4 解决读问题 (1)设置隔离级别 |
Spring事务管理api
1 spring事务管理两种方式 第一种 编程式事务管理(不用,没必要,不如底层代码实现) 第二种 声明式事务管理
2 spring事务管理的api介绍 (1)spring针对不同的dao层框架,提供接口不同的实现类 (2)首先 配置事务管理器 |
搭建转账环境
1 创建数据库表,添加数据
2 创建service和dao类,完成注入关系 (1)service层又叫业务逻辑层 (2)dao层,单纯对数据库操作层,在dao层不添加业务 (3)需求:小王 转账 1000 给 小马 - 小王少1000 - 小马多1000
3 产生问题: (1)如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了
4 解决: (1)添加事务解决,出现异常进行回滚操作 |
声明式事务管理(xml配置)
1 配置文件方式使用aop思想配置
第一步 配置事务管理器
第二步 配置事务增强
第三步 配置切面
这样配置之后如果代码出现异常会进行事务的回滚操作 |
声明式事务管理(注解)
第一步 配置事务管理器 第二步 配置事务注解 第三步 在要使用事务的方法所在类上面添加注解 |