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 配置文件中指定映射文件的位置,这个配置只有接口和映射文不在同一个包的情况下,才需要指定