提示:若是不成功必定是項目路徑和 數據庫配置出問題,本篇基於 MySQL 8.0.13,調試沒有問題。java
若是失敗,建議使用相同的項目結構,包名,進行重試,博主也是屢次調試,才成功。一些常見問題,看報錯提示信息是能夠看懂的,加油。mysql
整個項目的源代碼,最後,也會給出下載連接。sql
這是根據數據庫,生成後的項目結構:數據庫
mybatis-geneator 是一款 mybatis 自動代碼生成工具,能夠經過配置,快速生成 mapper 和 xml 文件。mybatis
(1)在項目的 pom.xml 文件中添加插件配置oracle
詳細的 pom.xml 配置:app
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.7</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency> </dependencies> <executions> <execution> <id>mybatis generator</id> <phase>package</phase> <goals> <goal>generate</goal> </goals> <configuration> <!--容許移動生成的文件--> <verbose>true</verbose> <!--容許自動覆蓋文件--> <overwrite>true</overwrite> <configurationFile> src/main/resources/generatorConfig.xml </configurationFile> </configuration> </execution> </executions> </plugin>
(2)根據本身配置的文件路徑及名稱,建立相應 generatorConfig.xml 文件,位置以下圖:dom
(3)先手動建立一些目錄,在配置的時候回有提示,大大下降出錯機率,總體目錄結構:maven
以前介紹過屢次命令行建立數據庫表了,查看 MySQL - 最經典的 命令行操做數據庫 + 表(增刪改查實例)函數
此次使用 Navicat for MySQL,若是沒有安裝請參考:Navicat for MySQL 最新版安裝與破解 + 報錯解決辦法
(1)創建鏈接,建立數據庫:
(2)數據庫名,選擇編碼:
(3)新建表:
(4)填寫表信息:
主鍵:
其餘:
表名爲 user_info
(5)插入一條信息:
(6)細心的你可能發現了沒有 upwd 存密碼的字段,咱們這裏放在另一張表上,新建表 user_pwd:
(重要!)
(請詳細看註釋!自行修改本身的配置信息)
修改目錄請自行對應,可放大查看:
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> <!-- context 是逆向工程的主要配置信息 --> <!-- id:起個名字 --> <!-- targetRuntime:設置生成的文件適用於那個 mybatis 版本 --> <context id="default" targetRuntime="MyBatis3"> <!--jdbc的數據庫鏈接--> <!--這裏是以變量的形式定義,具體的值在 application.properties 文件中--> <!--jdbc:mysql://localhost:3306/數據庫名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC--> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC" userId="root" password="xiaopengwei"> </jdbcConnection> <!-- targetPackage:生成的實體類所在的包 --> <!-- targetProject:生成的實體類所在的硬盤位置 --> <!-- DataObject 類存放位置 --> <javaModelGenerator targetPackage="com.miaoshapro.dataobject" 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="mapping" targetProject=".\src\main\resources"> <!-- 針對數據庫的一個配置,是否把 schema 做爲字包名 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.miaoshapro.dao" targetProject=".\src\main\java"> <!-- 針對 oracle 數據庫的一個配置,是否把 schema 做爲字包名 --> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--生成對應表及類名--> <table tableName="user_info" domainObjectName="UserDO"> </table> <table tableName="user_pwd" domainObjectName="UserPwdDO"> </table> </context> </generatorConfiguration>
(1)打開配置:
(2)點擊 +,選擇 Maven:
(3)輸入信息,命令:
(4)選中剛纔建立的名稱,點擊執行:
(1):
(2):
(3):
(4):