第一次寫部落格,權當是對自己學習的記錄!!!
開發工具
eclipse
資料庫mysql
1 先簡單說一下eclipse中如何使用mybatis的逆向工程來快速生成代碼
利用eclipse搭建springboot項目的前提是eclipse安裝了Spring插件,具體如下:help–>eclipse marketplace 在也頁面中輸入Spring搜尋後install目前插件并重新開機eclipse
2 在建立springboot項目的時候,選擇

點選finish完成項目建立
<?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 http://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.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.kyrie</groupId>
<artifactId>mybatis-generator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mybatis-generator</name>
<description>Demo project for Spring Boot</description>
<properties>
<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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- mybatis-generator 插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
</project>
在項目的pom.xml檔案中引入mybatis的generator插件
3 下面配置兩個重要的配置檔案,
① 第一個是springboot項目的全局變量:application.yml
在配置application.yml檔案的時候需要注意冒号後面的空格
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver //mysql資料庫驅動
url: jdbc:mysql://127.0.0.1:3306/newtest //資料庫名
username: root
password: root
server:
port: 8081
#mybatis的配置
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.kyrie.matx.entity
② 第二個重要的配置檔案是generator的配置檔案generatorConfig.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="application.yml" />
<!-- mysql驅動的位置 這個是MySQL連接配接的jar包,你需要指定你自己計算機上的jar包的位置-->
<classPathEntry location="C:/Users/tengxiao.ma/.m2/repository/mysql/mysql-connector-java/5.1.46/mysql-connector-java-5.1.46.jar" />
<context id="Tables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否生成注釋代時間戳 -->
<property name="suppressDate" value="true"/>
<!-- 是否去除自動生成的注釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- JDBC連接配接 其中connectionURL後面的newtest改為你建立的資料庫,緊跟在後面是資料庫連接配接的賬戶和密碼-->
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/newtest"
userId="root"
password="root">
</jdbcConnection>
<!-- 非必需,類型處理器,在資料庫類型和java類型之間的轉換控制-->
<!-- 預設false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時把JDBC DECIMAL 和
NUMERIC 類型解析為java.math.BigDecimal -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自動轉化以下類型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成實體類位址 這裡需要你改動,其中targetPackage需要根據你自己建立的目錄進行改動 -->
<javaModelGenerator targetPackage="com.kyrie.matx.entity" targetProject="src/main/java">
<!-- 從資料庫傳回的值被清理前後的空格 -->
<property name="trimStrings" value="true" />
<!-- enableSubPackages:是否讓schema作為包的字尾 -->
<property name="enableSubPackages" value="false" />
</javaModelGenerator>
<!-- 生成mapper xml檔案 這裡不需要改動 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<!-- enableSubPackages:是否讓schema作為包的字尾 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成mapper xml對應Client 這裡需要改動targetPackage,依據你自己的工程-->
<javaClientGenerator targetPackage="com.kyrie.matx.dao" targetProject="src/main/java" type="XMLMAPPER">
<!-- enableSubPackages:是否讓schema作為包的字尾 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 配置表資訊 -->
<!-- schema即為資料庫名 tableName為對應的資料庫表 domainObjectName是要生成的實體類 enable*ByExample
是否生成 example類 個人覺得生成那麼多的example類很繁瑣,是以設定為false-->
<table schema="newtest" tableName="category"
domainObjectName="Category" enableCountByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false">
</table>
<table schema="newtest" tableName="product"
domainObjectName="Product" enableCountByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false">
</table>
</context>
</generatorConfiguration>
4 運作generator,完成代碼的自動生成
右擊項目名:Run as–>maven build,在Goals:mybatis-generator:generate 如下
apply–>run
5
運作結果如下表示代碼生成成功,但是在目前的頁面是看不到的,需要删除項目(不要删除工作空間的項目),之後import這個maven項目
6 完成這一系列工作之後,項目的具體結構如下: