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集合
(1) sql语句 (2) RowMapper接口,自己写类实现数据封装 (3) 可变参数
|
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事务管理两种方式 第一种 编程式事务管理(不用) 第二种 声明式事务管理 (1) 基于xml配置文件实现 (2) 基于注解实现 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思想配置
第一步 配置事务管理器
第二步 配置事务增强
第三步 配置切面
|
声明式事务管理(注解)
第一步 配置事务管理器
第二步 配置事务注解
第三步 在要使用事务的方法所在类上面添加注解
|