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