Spring Boot 集成 MyBatis
项目名称:010-springboot-web-mybatis
1、案例思路
通过 SpringBoot +MyBatis 实现对数据库学生表的查询操作
数据库参考:springboot.sql 脚本文件
2、实现步骤
(1) 准备数据库
➢ 启动 Linux 系统上的 mySQL 服务器,通过 Navicat 连接

➢ 创建新的数据库 springboot,指定数据库字符编码为 utf-8

➢ 向表中插入数据

(2) 创建 010-springboot-web-mybatis 项目
➢ 创建一个新的 SpringBoot 的 Module

➢ 指定 GAV 坐标

➢ 选择 SpringBoot 版本以及 web 依赖

➢ 修改 Content root 以及 Mudule file location

(3) 在 pom.xml 中添加相关 jar 依赖


(4) 在 Springboot 的核心配置文件 application.properties 中配置数据源
注意根据自己数据库的信息修改以下内容

(5) 开发代码
➢ 使用 Mybatis 反向工程生成接口、映射文件以及实体 bean,具体步骤参见附录 1

➢ 在 web 包下创建 StudentController 并编写代码

➢ 在 service 包下创建 service 接口并编写代码

➢ 在 service.impl 包下创建 service 接口并编写代码


➢ 如果在 web 中导入 service 存在报错,可以尝试进行如下配置解决

➢ 在 Mybatis 反向工程生成的 StudentMapper 接口上加一个 Mapper 注解 @Mapper
作用:mybatis 自动扫描数据持久层的映射文件及 DAO 接口的关系

➢ 注意:默认情况下,Mybatis 的 xml 映射文件不会编译到 target 的 class 目录下,所以我们需要在 pom.xml 文件中配置 resource


(6) 启动 Application 应用,浏览器访问测试运行

3、DAO 其它开发方式
(7) 在 运 行 的 主 类 上 添 加 注 解 包 扫 描
@MapperScan("com.abc.springboot.mapper") 注释掉 StudentMapper 接口上的@Mapper 解

在运行主类 Application 上加@MapperScan("com.abc.springboot.mapper")

或

测试运行
(8) 将接口和映射文件分开
A、 项目名称:011-springboot-web-mybatis
因为 SpringBoot 不能自动编译接口映射的 xml 文件,还需要手动在 pom 文件中指定,所以的公司直接将映射文件直接放到 resources 目录下
➢ 在 resources 目录下新建目录 mapper 存放映射文件,将 StudentMapper.xml 文件移到 resources/mapper 目录下

➢ 在 application.properties 配置文件中指定映射文件的位置,这个配置只有接口和映射文不在同一个包的情况下,才需要指定

