Spring Boot + MyBatis 電商專案 - 03- MySQL 連線、DRUID、MyBatis-generator 配置
Spring Boot + MyBatis 電商專案 - 03- MySQL 連線、DRUID、MyBatis-generator 配置
上一篇 Spring Boot + MyBatis 電商專案 - 02- 引入 Spring Boot 依賴包 介紹了簡單的建立專案,及設定路徑對映。
如果你的電腦裡有很多專案,有 Eclipse 開發的,有多個 Tomcat ,或者多個版本,可能會需要修改預設的 8080 埠。
一、如果你的 8080 被佔用
非常簡單
(1)在 resources 目錄下,新建檔案(就是 file,不選型別),命名為 application.properties,寫一行就夠了:
server.port=8090
當然也可以寫很多的配置
(2)然後我們重啟伺服器:
(3 )訪問新埠:
http://localhost:8090/home
二、載入 MySQL 驅動連結
同樣是在這個網站:
https://mvnrepository.com/artifact/mysql/mysql-connector-java
找到適合你的資料庫版本,額外還有一個 druid。
DRUID 是阿里巴巴開源平臺上一個資料庫連線池實現,它結合了C3P0、DBCP、PROXOOL 等 DB 池的優點,同時加入了日誌監控,可以很好的監控 DB 池連線和 SQL 的執行情況,可以說是針對監控而生的 DB 連線池(據說是目前最好的連線池,不知道速度有沒有 BoneCP 快)。
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>com.alibaba</ groupId>
<artifactId>druid</artifactId>
<version>1.1.3</version>
</dependency>
載入 MyBatis 驅動
- 地址:
https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/1.3.2
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
application.properties 檔案配置
(該檔案需要自己新建)整體目錄結構為:
(1)開啟 application.properties:
mybatis.mapper-locations=classpath:mapping/*.xml
(2)建立上述 resources/mapping 目錄:
(3)MyBatis 自動生成工具,配置 pom.xml 檔案中 plugin 標籤:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>Generate MyBatis Files</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!--允許移動生成的檔案-->
<verbose>true</verbose>
<!--實際專案要注意是否可以設定成 true!-->
<!--允許自動覆蓋檔案-->
<overwrite>true</overwrite>
<configurationFile>
src/main/resources/mybatis-generator.xml
</configurationFile>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
</plugin>
注意位置:
下面 resources/mybatis-generator.xml 檔案的配置:
應某些人要求,貼過來一份
mybatis-generator.xml 檔案的配置
一、mybatis-generator 簡介:
mybatis-geneator 是一款 mybatis 自動程式碼生成工具,可以通過配置,快速生成 mapper 和 xml 檔案。
二、配置方法:
(1)在專案的 pom 檔案中新增外掛配置
在上一篇 Spring Boot + MyBatis 電商專案 - 03- MySQL 連線、DRUID、MyBatis-generator
的最後已經介紹了很詳細的 pom.xml 配置:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>Generate MyBatis Files</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!--允許移動生成的檔案-->
<verbose>true</verbose>
<!--實際專案要注意是否可以設定成 true!-->
<!--允許自動覆蓋檔案-->
<overwrite>true</overwrite>
<configurationFile>
src/main/resources/mybatis-generator.xml
</configurationFile>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
</plugin>
(2)根據自己配置的檔案路徑及名稱,建立相應 mybatis-generator.xml 檔案,下面進行配置:
目錄結構:
三、編輯 mybatis-generator.xml 檔案:
(重要)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--匯入屬性配置-->
<properties resource="datasource.properties"></properties>
<!-- 指定資料庫驅動的jdbc驅動jar包的位置 -->
<classPathEntry location="${db.driverLocation}" />
<!-- context 是逆向工程的主要配置資訊 -->
<!-- id:起個名字 -->
<!-- targetRuntime:設定生成的檔案適用於那個 mybatis 版本 -->
<context id="default" targetRuntime="MyBatis3">
<!--optional,旨在建立class時,對註釋進行控制-->
<commentGenerator>
<property name="suppressDate" value="true" />
<!-- 是否去除自動生成的註釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--jdbc的資料庫連線-->
<jdbcConnection driverClass="${db.driverClassName}"
connectionURL="${db.url}"
userId="${db.username}"
password="${db.password}">
</jdbcConnection>
<!--非必須,型別處理器,在資料庫型別和java型別之間的轉換控制-->
<javaTypeResolver>
<!-- 預設情況下資料庫中的 decimal,bigInt 在 Java 對應是 sql 下的 BigDecimal 類 -->
<!-- 不是 double 和 long 型別 -->
<!-- 使用常用的基本型別代替 sql 包下的引用型別 -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetPackage:生成的實體類所在的包 -->
<!-- targetProject:生成的實體類所在的硬碟位置 -->
<javaModelGenerator targetPackage="com.mall.pojo"
targetProject=".\src\main\java">
<!-- 是否允許子包 -->
<property name="enableSubPackages" value="false" />
<!-- 是否對modal新增建構函式 -->
<property name="constructorBased" value="true" />
<!-- 是否清理從資料庫中查詢出的字串左右兩邊的空白字元 -->
<property name="trimStrings" value="true" />
<!-- 建立modal物件是否不可改變 即生成的modal物件不會有setter方法,只有構造方法 -->
<property name="immutable" value="false" />
</javaModelGenerator>
<!-- targetPackage 和 targetProject:生成的 mapper 檔案的包和位置 -->
<sqlMapGenerator targetPackage="mappers"
targetProject=".\src\main\resource">
<!-- 針對資料庫的一個配置,是否把 schema 作為字包名 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage 和 targetProject:生成的 interface 檔案的包和位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.mall.dao" targetProject=".\src\main\java">
<!-- 針對 oracle 資料庫的一個配置,是否把 schema 作為字包名 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
四、配置 application.properties 檔案:
新增下面內容:
(當然這些都不自己輸入,後面的內容需要自己進行配置,所以路徑會經常出問題,所以我們不自己輸出路徑,下面會介紹如何找)
db.driverLocation=C:/Users/Administrator/m2/repository/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar
db.driverClassName=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/資料庫名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
db.username=root
db.password=123456
找上述需要的路徑:
-
(1)先找出這三級目錄:
-
(2)再找 jdbc/Driver,右鍵拷貝路徑:
-
(3)但是拷貝的路徑斜槓是反著的:
C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\8.0.13\mysql-connector-java-8.0.13.jar!\com\mysql\cj\jdbc\Driver.class
需要我們手動改成:
C:/Users/Administrator/m2/repository/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar
- (4)再拷貝 引用:
com.mysql.cj.jdbc.Driver
然後仔細配置資料庫登入資訊,本篇先到這裡