Spring boot + Mybatis plus集成项目配置


在网上学习SpringBoot+mybatis plus开放项目,网上资料采用yum和xml配置的方案较多,采用application.properties文件配置的方案较少。本着学习、记录态度,写下这篇文章,希望在记录自己学习的同时,能给他人提供帮助。

  • 项目创建

在[SpringBoot创建网站]上创建项目,添加`Web`和`MySQL`依赖。

  • 项目配置

通过以上步骤,创建好项目,通弄个IDEA(或eclipse)打开项目。

  • 1. 配置`pom.xml`

添加`Mybatis plus`依赖,添加内容如下:

1 <dependency>
2 <groupId>com.baomidou</groupId>
3 <artifactId>mybatis-plus-boot-starter</artifactId>
4 <version>3.0.5</version>
5 </dependency>

 

配置完全的`pom.xml`文件内容如下

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4 <modelVersion>4.0.0</modelVersion>
 5 <parent>
 6 <groupId>org.springframework.boot</groupId>
 7 <artifactId>spring-boot-starter-parent</artifactId>
 8 <version>2.1.5.RELEASE</version>
 9 <relativePath/> <!-- lookup parent from repository -->
10 </parent>
11 <groupId>demo</groupId>
12 <artifactId>demo</artifactId>
13 <version>0.0.1-SNAPSHOT</version>
14 <name>demo</name>
15 <description>Demo project for Spring Boot</description>
16 
17 <properties>
18 <java.version>1.8</java.version>
19 </properties>
20 
21 <dependencies>
22 <dependency>
23 <groupId>org.springframework.boot</groupId>
24 <artifactId>spring-boot-starter-web</artifactId>
25 </dependency>
26 <dependency>
27 <groupId>org.springframework.boot</groupId>
28 <artifactId>spring-boot-starter</artifactId>
29 </dependency>
30 <dependency>
31 <groupId>mysql</groupId>
32 <artifactId>mysql-connector-java</artifactId>
33 <scope>runtime</scope>
34 </dependency>
35 <dependency>
36 <groupId>org.springframework.boot</groupId>
37 <artifactId>spring-boot-starter-test</artifactId>
38 <scope>test</scope>
39 </dependency>
40 <dependency>
41 <groupId>com.baomidou</groupId>
42 <artifactId>mybatis-plus-boot-starter</artifactId>
43 <version>3.0.5</version>
44 </dependency>
45 </dependencies>
46 <build>
47 <plugins>
48 <plugin>
49 <groupId>org.springframework.boot</groupId>
50 <artifactId>spring-boot-maven-plugin</artifactId>
51 </plugin>
52 </plugins>
53 </build>
54 </project>

 

  • 2. 配置`application.properties`文件

配置文件中,根据自己的需求修改即可使用,每项配置的介绍和注意事项见注释

 1 spring.datasource.url=jdbc:mysql://database ip:database port/database name?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
 2 spring.datasource.username=***
 3 spring.datasource.password=***
 4 
 5 # EMBEDDED SERVER CONFIGURATION (ServerProperties)
 6 server.port=8080
 7 server.address= localhost
 8 
 9 # mybatis-plus
10 # mybatis-config.xml路径配置
11 mybatis-plus.config-location=classpath:mybatis-config.xml
12 # 项目Mapper.xml存放位置,classpath:*****,表示项目resources文件夹下,子文件创建时,需要手动一层一层创建
13 mybatis-plus.mapper-locations=classpath:com/example/demo/mapper/*Mapper.xml
14 # 项目Mapper接口存放位置
15 mybatis-plus.type-aliases-package=com.example.demo.dao
16 # 数据库类型设置
17 mybatis-plus.global-config.db-config.db-type=mysql
18 mybatis-plus.global-config.db-config.column-underline=true
19 mybatis-plus.global-config.db-config.logic-delete-value=true
20 mybatis-plus.global-config.db-config.logic-not-delete-value=false
21 ```
22 - 配置`mybatis-config.xml`文件
23 此配置文件可以拿来直接使用,不做任何修改。当然,你也可以根据自己的需求做一定的修改。
24 ```
25 <?xml version="1.0" encoding="UTF-8"?>
26 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"
27 "http://mybatis.org/dtd/mybatis-3-config.dtd">
28 <!--
29 | plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
30 | properties?, settings?,
31 | typeAliases?, typeHandlers?,
32 | objectFactory?,objectWrapperFactory?,
33 | plugins?,
34 | environments?, databaseIdProvider?, mappers?
35 |-->
36 <configuration>
37 <!--
38 | 全局配置设置
39 |
40 | 可配置选项 默认值, 描述
41 |
42 | aggressiveLazyLoading true, 当设置为‘true’的时候,懒加载的对象可能被任何懒属性全部加载。否则,每个属性都按需加载。
43 | multipleResultSetsEnabled true, 允许和不允许单条语句返回多个数据集(取决于驱动需求)
44 | useColumnLabel true, 使用列标签代替列名称。不同的驱动器有不同的作法。参考一下驱动器文档,或者用这两个不同的选项进行测试一下。
45 | useGeneratedKeys false, 允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。
46 | autoMappingBehavior PARTIAL, 指定MyBatis 是否并且如何来自动映射数据表字段与对象的属性。PARTIAL将只自动映射简单的,没有嵌套的结果。FULL 将自动映射所有复杂的结果。
47 | defaultExecutorType SIMPLE, 配置和设定执行器,SIMPLE 执行器执行其它语句。REUSE 执行器可能重复使用prepared statements 语句,BATCH执行器可以重复执行语句和批量更新。
48 | defaultStatementTimeout null, 设置一个时限,以决定让驱动器等待数据库回应的多长时间为超时
49 | -->
50 <settings>
51 <!--<setting name="logImpl" value="LOG4J2"/>-->
52 <!-- 这个配置使全局的映射器启用或禁用缓存 -->
53 <setting name="cacheEnabled" value="true"/>
54 <setting name="mapUnderscoreToCamelCase" value="true"/>
55 <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载 -->
56 <setting name="lazyLoadingEnabled" value="true"/>
57 <setting name="multipleResultSetsEnabled" value="true"/>
58 <setting name="useColumnLabel" value="true"/>
59 <setting name="defaultExecutorType" value="REUSE"/>
60 <setting name="defaultStatementTimeout" value="25000"/>
61 <!--设置查询resultType为map时空字段允许查出来-->
62 <setting name="callSettersOnNulls" value="true"/>
63 </settings>
64 </configuration>
  • - 项目整体结构

此项目的整体架构,见下图

项目架构由上向下,依次为:
- business存放service的实现类
- controller存放Controller类
- core存放核心类
- dao存放Mapper接口类
- exception存放异常配置和自定义异常类
- logger存放logger
- model存放实体bean的类
- service存放service接口类
- util存放自定义工具类

这就是一个简单的SpringBoot + Mybatis plus项目啦!

共勉!!!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM