使用 MyBatis 的時候,咱們要花大量的時間在寫mapper映射文件的sql。MyBatis Generator 是 MyBatis 的代碼生成器,能夠幫咱們去生成 Model、Dao、Mapper 和映射的 sql,節省很多時間java
這裏介紹使用 maven 插件方式去使用 MyBatis Generatormysql
一、首先先 pom.xml 添加 mybatis-generator 插件配置sql
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency> </dependencies> </plugin>
二、建立 Mybatis Generator XML配置文件 generatorConifg.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="conf/database.properties"></properties> <!-- 指定數據庫的jdbc驅動程序的位置,若是在pom中指定了依賴,這裏能夠不用 --> <!-- <classPathEntry location="${jdbc.driverLocation}" /> --> <!-- context 用於指定生成對象的配置 --> <!-- targetRuntime:設置生成的文件適用於那個 mybatis 版本 --> <context id="default" targetRuntime="MyBatis3"> <!-- optional, 用於爲MBG生成的各類元素生成註釋 --> <commentGenerator> <property name="suppressDate" value="true" /> <!-- 是否去除自動生成的註釋 true:是 : false:否 (默認) --> <property name="suppressAllComments" value="false" /> <property name="addRemarkComments" value="true" /> </commentGenerator> <!-- jdbc的數據庫鏈接 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!-- optional,類型處理器,在數據庫類型和java類型之間的轉換控制 --> <javaTypeResolver> <!-- 默認狀況下數據庫中的 decimal,bigInt 在 Java 對應是 BigDecimal 類 --> <!-- 比例大於零,或者長度大於18,使用BigDecimal --> <!-- 使用經常使用的基本類型代替 sql 包下的引用類型 --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 用於定義Java模型生成器的屬性。targetPackage:生成的實體類所在的包;targetProject:生成的實體類所在的項目和源文件夾 --> <javaModelGenerator targetPackage="com.brave.model" targetProject=".\src\main\java"> <!-- 針對數據庫的一個配置,是否把 schema 做爲字包名 默認false --> <property name="enableSubPackages" value="false" /> <!-- 是否對modal添加構造函數, 默認false --> <property name="constructorBased" value="true" /> <!-- 是否清理從數據庫中查詢出的字符串左右兩邊的空白字符,默認false --> <property name="trimStrings" value="true" /> <!-- 創建modal對象是否不可改變 即生成的modal對象不會有setter方法,只有構造方法,默認false --> <property name="immutable" value="false" /> </javaModelGenerator> <!-- 用於定義SQL映射生成器的屬性。targetPackage 和 targetProject:生成的 mapper 文件的包和位置 --> <sqlMapGenerator targetPackage="mappers" targetProject=".\src\main\resources"> <!-- 針對數據庫的一個配置,是否把 schema 做爲字包名,默認false --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.brave.dao" targetProject=".\src\main\java"> <!-- 針對 oracle 數據庫的一個配置,是否把 schema 做爲字包名 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- table裏面不少參數都是對javaModelGenerator,context等元素的默認屬性的一個複寫 --> <table tableName="upms_user" domainObjectName="UpmsUser"> </table> </context> </generatorConfiguration>
三、執行mybatis
maven 命令是 mvn mybatis-generator:generate
oracle
若是是用 idea 工具在Maven Porjects中點擊插件,執行就行了app
若是是用 eclipse,點擊maven build...,goals中填入mybatis-generator:generate 運行dom