1. 程式人生 > >【Maven】mybatis-generator-maven-plugin 使用

【Maven】mybatis-generator-maven-plugin 使用

http://v7sky.iteye.com/blog/2309246

pom.xml 

Java程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"  
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    >  
  5.     <modelVersion>4.0.0</modelVersion>  
  6.     <groupId>com.vdian.demo</groupId>  
  7.     <artifactId>mybatis</artifactId>  
  8.     <version>1.0-SNAPSHOT</version>  
  9.     <properties>  
  10.         <mybatis.version>3.2.8</mybatis.version>  
  11.     </properties>  
  12.     <dependencies>  
  13.         <dependency>  
  14.             <groupId>mysql</groupId>  
  15.             <artifactId>mysql-connector-java</artifactId>  
  16.             <version>5.1.36</version>  
  17.         </dependency>  
  18.         <dependency>  
  19.             <groupId>org.mybatis</groupId>  
  20.             <artifactId>mybatis</artifactId>  
  21.             <version>3.2.8</version>  
  22.         </dependency>  
  23.         <!--<dependency>-->  
  24.             <!--<groupId>org.mybatis.generator</groupId>-->  
  25.             <!--<artifactId>mybatis-generator-core</artifactId>-->  
  26.             <!--<version>1.3.2</version>-->  
  27.         <!--</dependency>-->  
  28.     </dependencies>  
  29.     <build>  
  30.         <plugins>  
  31.             <plugin>  
  32.                 <groupId>org.mybatis.generator</groupId>  
  33.                 <artifactId>mybatis-generator-maven-plugin</artifactId>  
  34.                 <version>1.3.2</version>  
  35.                 <configuration>  
  36.                     <configurationFile>generatorConfig.xml</configurationFile>  
  37.                     <verbose>true</verbose>  
  38.                     <overwrite>true</overwrite>  
  39.                 </configuration>  
  40.             </plugin>  
  41.         </plugins>  
  42.     </build>  
  43. </project>  


genereaorConfig.xml 
Java程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE generatorConfiguration  
  3.         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  4.         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
  5. <generatorConfiguration>  
  6.     <!-- 資料庫驅動-->  
  7.     <classPathEntry  location="/Users/hao/.m2/repository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar"/>  
  8.     <context id="default"  targetRuntime="MyBatis3">  
  9.         <!-- optional,旨在建立class時,對註釋進行控制 -->  
  10.         <commentGenerator>  
  11.             <property name="suppressDate" value="true"/>  
  12.             <!-- 是否去除自動生成的註釋 true:是 : false:否 -->  
  13.             <property name="suppressAllComments" value="true"/>  
  14.         </commentGenerator>  
  15.         <!--資料庫連結URL,使用者名稱、密碼 -->  
  16.         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://172.0.0.1:3336/em" userId="em" password="em">  
  17.         </jdbcConnection>  
  18.         <!-- 非必需,型別處理器,在資料庫型別和java型別之間的轉換控制-->  
  19.         <javaTypeResolver>  
  20.             <property name="forceBigDecimals" value="false"/>  
  21.         </javaTypeResolver>  
  22.         <!-- 生成模型的包名和位置-->  
  23.         <javaModelGenerator targetPackage="com.mybatis.domain" targetProject="src/test/java">  
  24.             <!-- optional.是否對model新增 建構函式 -->  
  25.             <property name="constructorBased" value="true"/>  
  26.             <!-- 是否允許子包,即targetPackage.schemaName.tableName -->  
  27.             <property name="enableSubPackages" value="true"/>  
  28.             <!-- optional.建立的Model物件是否 不可改變  即生成的Model物件不會有 setter方法,只有構造方法 -->  
  29.             <property name="immutable" value="false"/>  
  30.             <!-- 是否對類CHAR型別的列的資料進行trim操作 -->  
  31.             <property name="trimStrings" value="true"/>  
  32.         </javaModelGenerator>  
  33.         <!-- 生成對映檔案的包名和位置-->  
  34.         <sqlMapGenerator targetPackage="com.mybatis.mapping" targetProject="src/test/java">  
  35.             <property name="enableSubPackages" value="true"/>  
  36.         </sqlMapGenerator>  
  37.         <!-- 生成DAO的包名和位置  
  38.                 type="ANNOTATEDMAPPER",生成Java Model 和基於註解的Mapper物件  
  39.                 type="MIXEDMAPPER",生成基於註解的Java Model 和相應的Mapper物件  
  40.                 type="XMLMAPPER",生成SQLMap XML檔案和獨立的Mapper介面 -->  
  41.         <javaClientGenerator type="MIXEDMAPPER" targetPackage="com.mybatis.dao" targetProject="src/test/java">  
  42.             <property name="enableSubPackages" value="true"/>  
  43.         </javaClientGenerator>  
  44.         <!-- 要生成的表 tableName是資料庫中的表名或檢視名 domainObjectName是實體類名-->  
  45.         <table tableName="push_log" domainObjectName="PushDO"  
  46.                enableCountByExample="false"  
  47.                enableUpdateByExample="false"  
  48.                enableDeleteByExample="false"  
  49.                enableSelectByExample="false"  
  50.                selectByExampleQueryId="false">  
  51.             <!-- optional.插入時,是否生成selectKey元素 -->  
  52.             <!--<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" type="post"/>-->  
  53.             <!-- optional.忽略某一列 -->  
  54.             <ignoreColumn column="gmt_create"  delimitedColumnName="true" />  
  55.             <!--optional.覆蓋Model的生成規則,主要是設定javaType -->  
  56.             <columnOverride column="id" javaType="java.lang.Long"    jdbcType="INTEGER"  typeHandler=""  delimitedColumnName="" />  
  57.         </table>  
  58.     </context>  
  59. </generatorConfiguration>  


push_log: 

Java程式碼  收藏程式碼
  1. CREATE TABLE `push_log` (  
  2.   `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id主鍵',  
  3.   `operator` varchar(255) DEFAULT NULL COMMENT '操作人名稱',  
  4.   `page_id` varchar(255) DEFAULT NULL COMMENT '訊息id',  
  5.   `push_title` varchar(255) DEFAULT NULL COMMENT '訊息title',  
  6.   `push_description` varchar(255) DEFAULT NULL COMMENT '訊息描述',  
  7.   `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',  
  8.   `push_target_id` varchar(255) DEFAULT NULL COMMENT '接收人id',  
  9.   PRIMARY KEY (`id`)  
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8  



命令列:mvn mybatis-generator:generate