使用Maven搭建Mybatis逆向工程
阿新 • • 發佈:2018-11-15
程式碼實現
pom.xml
<?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> <groupId>MybatisGenerator</groupId> <artifactId>MybatisGenerator</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <!--mybatis 逆向生成外掛--> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <id>Generate MyBatis Artifacts</id> </execution> </executions> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-core</artifactId> <version>3.0</version> </dependency> </dependencies> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> </dependencies> </project>
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="jdbc.properties"/> <classPathEntry location="${jdbc_driverLocation}"/> <!--指定特定資料庫的jdbc驅動jar包的位置--> <context id="testTables" targetRuntime="MyBatis3"> <!-- optional,旨在建立class時,對註釋進行控制 --> <commentGenerator> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 --> <jdbcConnection driverClass="${jdbc_driverClass}" connectionURL="${jdbc_url}" userId="${jdbc_user}" password="${jdbc_pwd}"> </jdbcConnection> <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和 NUMERIC 型別解析為java.math.BigDecimal 可以在下面表中生成的時候選擇轉換--> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- Model模型生成器,用來生成含有主鍵key的類,記錄類 以及查詢Example類 targetPackage 指定生成的model生成所在的包名 targetProject 指定在該專案下所在的路徑 --> <!-- targetProject:生成PO類的位置 --> <javaModelGenerator targetPackage="com.project.pojo" targetProject="src/main/java"> <!-- 是否允許子包,即targetPackage.schemaName.tableName --> <property name="enableSubPackages" value="false"/> <!-- 是否對model新增 建構函式 --> <property name="constructorBased" value="true"/> <!-- 是否對類CHAR型別的列的資料進行trim操作 --> <property name="trimStrings" value="true"/> <!-- 建立的Model物件是否 不可改變 即生成的Model物件不會有 setter方法,只有構造方法 --> <property name="immutable" value="false"/> </javaModelGenerator> <!--Mapper對映檔案生成所在的目錄 為每一個數據庫的表生成對應的SqlMap檔案 --> <sqlMapGenerator targetPackage="com.project.mapper" targetProject="src/main/java"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- 客戶端程式碼,生成易於使用的針對Model物件和XML配置檔案 的程式碼 targetPackage:mapper介面生成的位置 type="ANNOTATEDMAPPER",生成Java Model 和基於註解的Mapper物件 type="MIXEDMAPPER",生成基於註解的Java Model 和相應的Mapper物件 type="XMLMAPPER",生成SQLMap XML檔案和獨立的Mapper介面 --> <javaClientGenerator targetPackage="com.project.mapper" targetProject="src/main/java" type="XMLMAPPER"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <!-- 指定資料庫表 --> <table tableName="maintainer" domainObjectName=""> <!--<generatedKey column="uuid" sqlStatement="SELECT REPLACE(UUID(),'-','') UUID FROM DUAL"/>--> </table> <!--<table schema="" tableName="applytomaintain">--> <!--長型別需要轉換--> <!--<columnOverride column="audit2" javaType="java.lang.String" jdbcType="VARCHAR"></columnOverride>--> <!--</table>--> </context> </generatorConfiguration>
jdbc.properties
jdbc_driverLocation=G:\\jarpackage\\mysql\\mysql-connector-java\\5.1.32\\mysql-connector-java-5.1.32.jar jdbc_driverClass=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/system?useUnicode=true&characterEncoding=utf-8 jdbc_user=root jdbc_pwd=123456 validationQuery = select 1
逆向生成所需檔案
點選右側的MavenProjects
雙擊mybatis-generator:generate即可生成所需檔案
遇到問題
當專案出現問題的時候我們可以按:Shift+Ctrl+Alt+S
檢視你的SDK有沒有配置錯誤
如果還沒辦法解決,我們可以檢視Setting中的maven設定
保證maven配置也沒有問題
最後一種問題是Maven沒有匯入,點選reimport即可
這樣基本就可以正常生產所需的逆向工程了