Mybatis使用Generator自動生成器的配置及使用
阿新 • • 發佈:2019-01-03
使用的是IDEA,spring boot.maven.
首先在 pop.xml 中匯入依賴
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <build> <plugins> <!-- mybatis generator 自動生成程式碼外掛 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin> </plugins> </build>
在 pom.xml 檔案設定的對應目錄下建立 generatorConfig.xml 檔案(maven外掛執行配置時,檔名只能固定寫為generatorConfig,檔案中要配置資料庫 <classPathEntry> 連線驅動絕對路徑,並且,資料庫連線資訊url,username,password等都要寫固定)
<?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> <!--別名,可以將重複的程式碼,比如路徑用別名代替--> <!-- <typeAliases> <typeAlias alias="packagePath" type="com.demo.demosubject"/> </typeAliases>--> <!--指定資料庫驅動路徑--> <classPathEntry location="C:\Users\24564\.m2\repository\mysql\mysql-connector-java\5.1.45\mysql-connector-java-5.1.45.jar"/> <context id="familydb" defaultModelType="flat" targetRuntime="MyBatis3"> <!--註解配置--> <commentGenerator> <!--是否生成預設註解,true,是;false,否--> <property name="suppressAllComments" value="true"/> <!--生成的註解是否包含時間戳,true,是;false,否--> <property name="suppressDate" value="true"/> </commentGenerator> <!--連線資料庫--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://www.demo.com:3306/databasename?characterEncoding=utf-8" userId="admin" password="123456"> </jdbcConnection> <!--指定JDBC型別和Java型別轉換. 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer true,把JDBC DECIMAL 和 NUMERIC 型別解析為java.math.BigDecimal--> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- java模型建立器 targetPackage:生成的類要放的包,真實的包受enableSubPackages屬性控制; targetProject:目標專案,指定一個存在的目錄下,生成的內容會放到指定目錄中,如果目錄不存在,MBG不會自動建目錄 --> <!--生成model模型--> <javaModelGenerator targetPackage="packagePath.entity" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <!--資料庫返回的值清理,去除前後空格--> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--生成對應的對映mapper.xml檔案--> <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!--生成Mapper介面--> <javaClientGenerator type="XMLMAPPER" targetPackage="packagePath.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!--列出將要執行操作的表--> <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/> </context> </generatorConfiguration>
在Intellij IDEA新增一個“Run執行”選項,使用maven執行mybatis-generator-maven-plugin外掛
彈出執行配置框,為當前配置配置一個Name,這裡命名為"generator",然後在 “Command line” 選項中輸入“mybatis-generator:generate -e”,這裡加了“-e ”選項是為了讓該外掛輸出詳細資訊,這樣可以幫助我們定位可能出現的問題.
最後點選Apply,如果新增成功
就會有剛才新增的 generator 選項.然後執行即可生成程式碼
也可以在這裡執行
還有一種方法是寫main方法執行
1.在pom.xml中加入外掛依賴:
2.寫mbgConfiguration.xml檔案,jdbc.properties檔案
3.寫/src/main/java/main/DemoMain.java main方法
4.執行main函式
這樣配置比較靈活,不需要寫死資料庫驅動地址和連線資訊,不需要多加一個jar外掛。