把Springboot 整合 MyBatis,简直了!(XML版详解)

686 阅读3分钟

我今天自己试着搭建了下Spring boot+Mybatis,发现比原来的Spring+SpringMVC+Mybatis简单好多!!
虽然说只用Spring boot也可以开发,但是对于多表多条件分页查询,Spring boot就有点力不从心了,所以LZ把Mybatis整合进去,发现这样工作事半功倍!后悔没早搭建了!!

本文主要是讲解下 Springboot 如何整合 MyBatis,这里使用的是xml配置SQL而不是用注解。主要是 SQL和业务代码应该隔离,方便和 DBA 校对 SQL。

  1. 搭建java web开发环境
    网上教程很多,自行百度哈
  2. spring boot搭建

1、Intellij idea菜单栏File->new->project,选择左侧栏中spring initializr,右侧选择jdk版本,以及默认的Service URL,点击next,
在这里插入图片描述
2、填写项目的Group、Artifact等信息,此处直接选默认了,点击next
在这里插入图片描述
3、左侧点击Web,中间一侧选择Web,然后左侧选择SQL,中间一侧选择MyBatis、MySQL,点击next
在这里插入图片描述
4、填写Project name 等信息,然后点击Finish。
在这里插入图片描述
5、这样,Spring boot就搭建好了,pom.xml里已经有了Spring boot、mysql数据连接等相关的jar包。

  1. 数据库准备
    使用MySql新建如下数据库:
    在这里插入图片描述

  2. mybatis-generator
    mybatis-gennerator插件可以自动生成mybatis所需要的dao、bean、mapper xml文件。
    1、新建文件夹,命名generator。
    2、准备需要的jar包,mybatis-generator-core-1.3.6.jar。
    下载地址:github.com/mybatis/gen…
    3、mybatis-generator-core-1.3.6目录下新建generator.xml文件,里面配置如下:

    123456789101112131415161718192021222324252627282930313233

    (注意:对实体 “useSSL” 的引用必须以 ‘;’ 分隔符结尾否则会报错)
    4、终端输入命令:java -jar mybatis-generator-core-1.3.6.jar -configfile generator.xml -overwrite
    5、成功后能看到dao、model、mapper xml文件已经生成了
    在这里插入图片描述

    1. pom.xml
      添加必要的依赖

      4.0.0

      <groupId>com.example</groupId>
      <artifactId>demo</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
      
      <name>demo</name>
      <description>Demo project for Spring Boot</description>
      
      <parent>
      	<groupId>org.springframework.boot</groupId>
      	<artifactId>spring-boot-starter-parent</artifactId>
      	<version>2.0.0.RELEASE</version>
      	<relativePath/> <!-- lookup parent from repository -->
      </parent>
      
      <properties>
      	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      	<java.version>1.8</java.version>
      </properties>
      
      <dependencies>
      	<dependency>
      		<groupId>org.springframework.boot</groupId>
      		<artifactId>spring-boot-starter-web</artifactId>
      	</dependency>
      	<dependency>
      		<groupId>org.mybatis.spring.boot</groupId>
      		<artifactId>mybatis-spring-boot-starter</artifactId>
      		<version>1.3.2</version>
      	</dependency>
      
      	<dependency>
      		<groupId>mysql</groupId>
      		<artifactId>mysql-connector-java</artifactId>
      		<scope>runtime</scope>
      	</dependency>
      	<dependency>
      		<groupId>org.springframework.boot</groupId>
      		<artifactId>spring-boot-starter-test</artifactId>
      		<scope>test</scope>
      	</dependency>
      
      	<dependency>
      		<groupId>org.springframework.boot</groupId>
      		<artifactId>spring-boot-starter-thymeleaf</artifactId>
      	</dependency>
      
      </dependencies>
      
      <build>
      	<plugins>
      		<plugin>
      			<groupId>org.springframework.boot</groupId>
      			<artifactId>spring-boot-maven-plugin</artifactId>
      		</plugin>
      	</plugins>
      </build>
      
      1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
    2. application.properties

    打开application.properties文件,修改相应的数据源配置,比如地址、账号、密码等;

    spring.datasource.url=jdbc:mysql://localhost:3306/mydemo?useUnicode=true&characterEncoding=utf8&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    mybatis.typeAliasesPackage=com.example.demo.dal.DO
    mybatis.mapperLocations=classpath:mapper/*.xml
    123456
    

    (根据项目目录进行相应的修改。mybatis.typeAliasesPackage使实体对象所在的包,跟数据库表一一对应;mybatis.mapperLocations是mapper文件的位置)

    1. dao
      需要配置操作数据表接口的dao文件。通过@MapperScan注解进行dao文件扫描。
      在这里插入图片描述
    2. controller
      在这里插入图片描述
    3. 运行

    右键运行 DemoApplication应用启动类的 main 函数,然后在浏览器访问即可看到数据
    在这里插入图片描述

    看到这里的小伙伴,如果你喜欢这篇文章的话,别忘了转发、收藏、留言互动

    如果对文章有任何问题,欢迎在留言区和我交流~

    最近我新整理了一些Java资料,包含面经分享、模拟试题、和视频干货,如果你需要的话,欢迎私信我