需求缘起:

在一节视频中,有这么一段留言:“会不会推出SpringBoot整合Mybaits配置文件sqlMapConfig.xml搭配mapper.xml的视频呢??? 看到有这个整合直接付款来看,结果是急速开发模式,sql都写在类中了,想看配置方式的 大神出一个吧。”粉丝需求,那才是真的需求。好吧,废话太多,不好,不好,还是赶紧进入正题。

本节大纲:

(1)MyBatis介绍

(2)配置思路

(3)新建project以及添加依赖包

(4)创建启动类App.java

(5)编写实体类Demo

(6)编写application配置文件,指定xml路径

(7)编写映射接口DemoMapper和XML

(8)编写service类DemoService

(9)编写控制类DemoController

(10)测试

       接下来看看本节的内容:

 

(1)MyBatis介绍

       来源:MyBatis 本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

       介绍:MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(PlainOrdinary Java Objects,普通的 Java对象)映射成数据库中的记录。

 

(2)配置思路

       在Spring Boot中使用xml集成MyBatis的话,那么核心的文件就是实体类和SQL的映射类,比如DemoMapper,在此类当中就是普通的接口即可,那么对应SQL配置文件在Demo.xml中,那么要怎么能够识别到DemoMapper类呢,使用@MapperScan();在Demo.xml中使用<mapper> 的 namespace属性进行指定指定xml文件和mapper的对应关系,那么现在的问题就是如何识别到Demo.xml配置文件呢,这个就很简单了,在application.properties文件中配置mapper的位置即可,形如:mybatis.mapper-locations=classpath:mybatis/mapper/*.xml。

       根据以上的思路,那我们编码大概的思路就是:

(a)编写实体类Demo;

(b)编写配置文件Demo.xml,主要是SQL;

(c)编写DemoMapper和Demo是对应的,在Service层就可以调用DemoMapper;

(d)在application.properties文件中配置Demo.xml文件的路径;

 

(3)新建project以及添加依赖包

       新建project,取名为spring-boot-mybatis-xml,在pom.xml文件添加相关依赖包:

145. Spring Boot MyBatis升级篇-XML_Spring Boot

 

(4)创建启动类App.java

编写启动类,注意,添加了@MapperScan("com.kfit.*.mapper"),扫描mapper接口:

145. Spring Boot MyBatis升级篇-XML_Spring Boot_02

 

 

(5)编写实体类Demo

编写Demo类,主要属性id,name:

145. Spring Boot MyBatis升级篇-XML_Spring Boot_03

 

(6)编写application配置文件,指定xml路径

########################################################

###datasource -- mysql的数据库配置.

########################################################

spring.datasource.url = jdbc:mysql://localhost:3306/test

spring.datasource.username = root

spring.datasource.password = root

spring.datasource.driverClassName = com.mysql.jdbc.Driver

spring.datasource.max-active=20

spring.datasource.max-idle=8

spring.datasource.min-idle=8

spring.datasource.initial-size=10

 

 

########################################################

###mybatis配置.

########################################################

mybatis.mapper-locations=classpath:com/kfit/*/mapper/*.xml

 

在这里重要的配置是:mybatis.mapper-locations=classpath:com/kfit/*/mapper/*.xml

 

(7)编写映射接口DemoMapper和xml文件

编写XML文件,Demo.xml:

145. Spring Boot MyBatis升级篇-XML_Spring Boot_04

 

编写DemoMapper接口:

 

145. Spring Boot MyBatis升级篇-XML_Spring Boot_05

 

(8)编写service类DemoService

145. Spring Boot MyBatis升级篇-XML_Spring Boot_06

 

(9)编写控制类DemoController

145. Spring Boot MyBatis升级篇-XML_Spring Boot_07

 

(10)测试

启动,访问地址:http://127.0.0.1:8080/save

在浏览器可以看到:

{

id: 0,

name: "张三"

}

 

视频+交流平台:

à Spring Boot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot优酷视频

http://i.youku.com/springboot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532