springBoot整合mybatisPlus從零搭建專案--基礎整合版
阿新 • • 發佈:2022-05-12
springBoot整合Mybatis和spring data jdbc 初級版。簡單搭個專案。
環境是Jdk8
第一步建立專案:開啟idea>file>project>SpringInitializr
第二步 選擇需要載入的開發工具類:這裡選擇預設的springboot版本即可,選擇完成後點選 create即可
第三步:專案建立完成之後,進入file>setting裡面搜尋maven並更改預設的maven配置,使用我們自己的maven配置。
在設定完maven後如果側邊沒有出現maven工具欄重啟一下就好,如果maven載入不成功則根據提示資訊再次重複上一步即可。
當maven載入完成後執行即可(此時沒有設定資料庫連線,執行後控制檯會提醒沒有資料來源)
在這時候一個簡單的springBoot專案已經搭建完畢,但是沒有配置資料來源,下面進入application.yml的簡單配置:首先將application.propertites改為application.yml 並複製一份改名為application-dev.yml(application-dev開發環境 application-test 測試環境 application-pro 生產環境)
在application裡面配置active為dev,代表我們目前使用的是dev的配置檔案
在application-dev.yml裡面配置:
variable: profiles: dev #資料來源 spring: datasource: username: 資料庫使用者名稱 password: 資料庫使用者密碼 url: jdbc:mysql://資料庫地址:3306/app_version?useSSL=false&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=GMT%2B8&allowMultiQueries=truedriver-class-name: com.mysql.cj.jdbc.Driver server: tomcat: uri-encoding: utf-8 #設定埠 port: 8080 servlet: #設定訪問路徑字首 context-path: /car318 ##Mybatis Plus 配置 mybatis-plus: #配置mapper.xml,實體類,列舉類 的掃描路徑 mapper-locations: classpath*:/mapper/**/*Mapper.xml type-aliases-package: com.car318.appversion.**.entity type-enums-package: com.car318.appversion.**.enums global-config: db-config: id-type: auto table-underline: false configuration: map-underscore-to-camel-case: false cache-enabled: false # 預設不展示展示日誌 # log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl # 展示日誌 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #解決mybatis查詢時資料返回值為null時不會反射的問題---目前設定了也沒用 call-setters-on-nulls: true
做完application-dev配置後複製改名為application-test和application-pro將裡面的profiles值改為對應的值,資料庫修改地址,即可實現在application裡面進行配置檔案的切換。
最後,因為部分驅動尚未匯入,需要在pom檔案中匯入jar包即可:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.7</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.car318</groupId> <artifactId>appVersion</artifactId> <version>0.0.1-SNAPSHOT</version> <name>appVersion</name> <description>appVersion</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.restdocs</groupId> <artifactId>spring-restdocs-mockmvc</artifactId> <scope>test</scope> </dependency> <!-- 資料庫驅動--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- mybatis--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency> <!-- 引入log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- 熱啟動 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <!-- 測試--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <!-- aspectjrt引入--> <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.5</version> </dependency> <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.9.5</version> </dependency> <!-- json引入--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>1.5.8</version> <executions> <execution> <id>generate-docs</id> <phase>prepare-package</phase> <goals> <goal>process-asciidoc</goal> </goals> <configuration> <backend>html</backend> <doctype>book</doctype> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.springframework.restdocs</groupId> <artifactId>spring-restdocs-asciidoctor</artifactId> <version>${spring-restdocs.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.5.0</version> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>