mybatis自動生成對應表的實體類、介面和對映檔案
阿新 • • 發佈:2019-01-06
使用maven構建的專案,其中整合了mybatis,每次使用時都需要建立model實體類,dao介面和mapper對映檔案,為了方便開發,maven中有一種外掛可以直接生成資料庫表對應的實體類,介面和對映檔案
1.首先要在pom.xml檔案中加入外掛依賴,注意直接放在<build>節點下,我之前放在了<pluginManagement>節點,總是載入不了外掛
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins>
2.執行pom.xml檔案,載入配置過的依賴
3.將mysql-connector-java-8.0.11.jar包,放在D盤中
獲取連結: https://pan.baidu.com/s/1HUJik_zAfPGb_nznL6oflg 密碼: 2evk
4.在resources中新增檔案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> <!--mysql 連線資料庫jar 這裡選擇自己本地位置--> <classPathEntry location="D:\mysql-connector-java-8.0.11.jar" /> <context id="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://10.200.9.168:3306/iothub_plugins" userId="root" password="Xtjc0551Mysql!"> </jdbcConnection> <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和 NUMERIC 型別解析為java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targetProject:生成PO類的位置 --> <javaModelGenerator targetPackage="com.xh.iot.repositories.model.gsiot" targetProject="src/main/java"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false" /> <!-- 從資料庫返回的值被清理前後的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- targetProject:mapper對映檔案生成的位置 如果maven工程只是單獨的一個工程,targetProject="src/main/java" 若果maven工程是分模組的工程,targetProject="所屬模組的名稱",例如: targetProject="ecps-manager-mapper",下同--> <sqlMapGenerator targetPackage="com.xh.iot.repositories.mapper.gsiot" targetProject="src/main/java"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper介面生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.xh.iot.repositories.mapper.gsiot" targetProject="src/main/java"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 指定資料庫表 --> <table schema="" tableName="trans_org_his" domainObjectName="TransOrgHis" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
5.找到plugins中的mybatis-generator,展開,選中mybatis-generator,執行,便可以在配置的目錄中生成對應的表的實體類、介面和對映檔案了