学习笔记之Mybatis Generator

来源:互联网 发布:java实现一个线程池 编辑:程序博客网 时间:2024/06/05 09:30

我们知道在使用Mybatis的时候需要写大量的xml文件来操作数据库,现在给大家介绍一个比较实用的插件,它可以自动生成DAO,Mapper以及Module。

它就是Mybatis Generator,Mybatis Generator的安装方式一般有两种,Eclipse插件和maven插件的形式。

Eclipse插件的安装比较简单,可以从https://github.com/mybatis/generator.git下载安装插件。

解压下载的压缩文件,然后把里面的plugin和feature拷贝到你的eclipse的安装目录下即可。

但是要注意这个是不是和自己的eclipse版本相兼容,如果不兼容的话就另找一个版本。

下面介绍一下maven插件的安装方法。

首先在pom.xml文件中,其中红色字体的部分是新加的内容。

<build>
  <finalName>lanyuan-notebook-3.1v</finalName>
  <pluginManagement>
   <plugins>
    <plugin>
     <groupId>org.mortbay.jetty</groupId>
     <artifactId>maven-jetty-plugin</artifactId>
     <version>6.1.26</version>
     <configuration>
      <webAppConfig>
       <contextPath>/</contextPath>
      </webAppConfig>
      <!-- 每3秒的间隔扫描一次,实现热部署 -->
      <scanIntervalSeconds>3</scanIntervalSeconds>
     </configuration>
    </plugin>
    <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <version>2.6</version>
     <configuration>
      <skip>true</skip>
      <encoding>UTF-8</encoding>
     </configuration>
    </plugin>
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <configuration>
            <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
            <verbose>true</verbose>
            <overwrite>true</overwrite>
        </configuration>
        <executions>
            <execution>
                <id>Generate MyBatis Artifacts</id>
                <goals>
                    <goal>generate</goal>
                </goals>
            </execution>
        </executions>
        <dependencies>
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>1.3.2</version>
            </dependency>
        </dependencies>
    </plugin>

   </plugins>
  </pluginManagement>
 </build>


然后在src/main/resources/mybatis-generator/这个目录下新建一个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> 
<!-- 数据库驱动--> 
    <classPathEntry  location="E:\Develope\apache-maven-3.3.9\repository\mysql\mysql-connector-java\5.1.26\mysql-connector-java-5.1.26.jar"/> 
    <context id="Mysql"  targetRuntime="MyBatis3" defaultModelType="flat">
      <!-- 通用生成器节点 -->
        <commentGenerator> 
            <!-- 是否屏蔽生成注释中的时间 true:是 : false:否 -->
            <property name="suppressDate" value="true"/> 
            <!-- 是否屏蔽生成注释 true:是 : false:否 --> 
            <property name="suppressAllComments" value="true"/> 
        </commentGenerator> 
        <!--数据库连接信息节点,包括URL,用户名、密码 --> 
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
         connectionURL="jdbc:mysql://127.0.0.1/test"
         userId="root"
         password="root"> 
        </jdbcConnection>
        <!-- 类型转换节点 -->
        <javaTypeResolver>
         <!-- 是否强制DECIMAL和NUMERIC类型的字段转换为Java类型的java.math.BigDecimal -->
            <property name="forceBigDecimals" value="false"/> 
        </javaTypeResolver> 
        <!-- 模型生成节点,定义了生成模型的包名和位置--> 
        <javaModelGenerator targetPackage="com.first.entity" targetProject="src\main\java">
         <!-- MBG是否会根据catalog和schema来生成子包 -->
            <property name="enableSubPackages" value="true"/>
            <!-- 是否对数据库查询结果进行trim操作 --> 
            <property name="trimStrings" value="true"/> 
        </javaModelGenerator> 
        <!-- 映射文件生成节点,定义了生成映射文件的包名和位置--> 
        <sqlMapGenerator targetPackage="com.first.mapping" targetProject="src\main\java"> 
            <property name="enableSubPackages" value="true"/> 
        </sqlMapGenerator> 
        <!-- Mapper接口生成节点,定义了生成Mapper接口的包名和位置--> 
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.first.mapper" targetProject="src\main\java"> 
            <property name="enableSubPackages" value="true"/> 
        </javaClientGenerator> 
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <!-- domainObjectName生成对象的基本名称。如果没有指定,MBG会自动根据表名来生成名称 --> 
        <!-- enableXXX:XXX代表多种SQL方法,该属性用来指定是否生成对应的XXX语句 -->
        <table tableName="userid"
         domainObjectName="User"
         enableCountByExample="false"
         enableUpdateByExample="false"
         enableDeleteByExample="false"
         enableSelectByExample="false"
         selectByExampleQueryId="false">
        </table>
    </context> 
</generatorConfiguration> 


然后在generatorConfig.xml点右键选择Run as然后选择Run Configurations然后如下图所示进行设置,最后点击Run按钮,就可以生成对应的文件了。



0 0
原创粉丝点击