第四章 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.测试利用,数据没有增加胜利

5.正文掉 StudentServiceImpl 上的@Transactional 测试。数据增加胜利