动力节点-王妈妈Springboot教程笔记(四)ORM操作MySQL
第四章 ORM 操作 MySQL
官方下载地址
动力节点springboot资料
视频观看地址
https://www.bilibili.com/vide...
讲解 MyBatis 框架, 读写 MySQL 数据。通过 SpringBoot +MyBatis 实现对数据库学生表的查询操作。
数据库参考: springboot.sql 脚本文件
创建数据库:数据库 springboot,指定数据库字符编码为 utf-8
文章图片
插入数据
文章图片
4.1 创建 Spring Boot 项目
项目名称: 015-springboot-mybatis
使用@Mapper 注解
? pom.xml
文章图片
文章图片
文章图片
加入 resources 插件
文章图片
? 配置数据源: application.properties
文章图片
文章图片
? 创建数实体 bean, dao 接口, mapper 文件
文章图片
? 实体类
文章图片
文章图片
? 创建 Dao 接口
文章图片
? mapper 文件:
文章图片
文章图片
? service 接口
文章图片
? service 接口实现类
文章图片
`return student;
}
}`
? controller 类
文章图片
启动 Application 类, 浏览器访问http://localhost:9090/myboot/...
4.2 @MapperScan
在 Dao 接口上面加入@Mapper, 需要在每个接口都加入注解。 当 Dao 接口多的时候不方便。
可以使用如下的方式解决。
主类上添加注解包扫描: @MapperScan("com.bjpowernode.dao")
新建 Spring Boot 项目 : 016-springboot-mybatis2
项目的代码同上面的程序,修改的位置:
1.去掉 StudentMapper 接口的上面的@Mapper 注解
2.在主类上面加入 @MapperScan()
文章图片
4.3 mapper 文件和 java 代码分开管理
这种方式比较推荐, mapper 文件放在 resources 目录下, java 代码放在 src/main/java。
实现步骤:
? 在resources 创建自定义目录,例如mapper, 存放 xml 文件
文章图片
? 把原来的 xml 文件剪切并拷贝到 resources/mapper 目录
? 在application.properties配置文件中指定映射文件的位置, 这个配置只有接口和映 射文件不在同一个包的情况下,才需要指定。
文章图片
? 运行主类,浏览器测试访问
4.4 事务支持
Spring Boot 使用事务非常简单,底层依然采用的是 Spring 本身提供的事务管理
? 在入口类中使用注解 @EnableTransactionManagement 开启事务支持
? 在访问数据库的 Service 方法上添加注解 @Transactional 即可
通过 SpringBoot +MyBatis 实现对数据库学生表的更新操作,在 service 层的方法中构建 异常,查看事务是否生效。
创建项目: 018-springboot-transaction
项目可以在 MyBatis 项目中修改。
实现步骤:
1.pom.xml
文章图片
文章图片
2.修改 StudentService,在 addStudent()方法中抛出异常
文章图片
文章图片
3.在 Application 主类上, @EnableTransactionManagement 开启事务支持 @EnableTransactionManagement 可选,但是@Service 必须添加事务才生效
文章图片
4.测试应用,数据没有添加成功
【动力节点-王妈妈Springboot教程笔记(四)ORM操作MySQL】5.注释掉 StudentServiceImpl 上的@Transactional 测试。数据添加成功
推荐阅读
- 两感一练
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- 超级行动力第二次作业-行动大于学习的秘密
- 7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
- 剥削劳动力系列(企业家剥削你时,他要付出巨大的代价)
- 旅途碎碎念
- 当生活趋于安稳,怎样找回拼搏的动力()
- 爱是什么(生命的动力?相濡以沫的陪伴?)
- 区块链P2P节点同步流程
- jenkins节点