使用MyBatis Generator自动生成持久层CRUD代码的两种方法

原创 2016年08月30日 17:18:10

最近在使用MyBatis,得知可以利用MyBatis Generator自动生成实体类、DAO接口和Mapping映射文件。当数据库中的表多的时候,让你不用再手写Mapping映射文件,和实体类,就可以避免出错和节省开发时间了。


第一种方法是使用命令行方式编译生成
1、首先下载需要的包,都可以在http://mvnrepository.com/这里下载到。
这里写图片描述
2、把下载好的包放到项目的文件夹中。
3、再新建一个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="mysql-connector-java-5.1.39.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <!-- 是否去除自动生成的注释-->  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!--设置数据库链接的驱动,URL,用户名和密码 需要根据自己的情况填写-->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.0.88:3306/test" userId="abcd" password="111111">  
        </jdbcConnection>
        <!--当字段类型是 DECIMAL或者 NUMERIC时,是否强制转换为BigDecimal,否的话会自动根据规模的大小选择合适的类型  -->  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!-- 生成模型的包名和位置-->  
        <javaModelGenerator targetPackage="main.java.com.cn.uuu.model" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!-- 生成映射文件的包名和位置-->  
        <sqlMapGenerator targetPackage="main.java.com.cn.uuu.mapping" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!-- 生成DAO的包名和位置-->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="main.java.com.cn.uuu.IDao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名,需要根据自己的需求修改-->  
        <table tableName="tb_test" domainObjectName="Test" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>  
</generatorConfiguration>  

<!-- java -jar mybatis-generator-core-1.3.4.jar -configfile generatorConfig.xml -overwrite -->

4、接着运行命令行,进入到目标文件夹,输入命令
java -jar mybatis-generator-core-1.3.4.jar -configfile generatorConfig.xml -overwrite 运行
这里写图片描述
5、然后就生成了对应的文件和文件夹了。(这里我把IDao的文件更名为IDao风格的命名,原本的文件名是TestMapper,根据自己习惯吧)
这里写图片描述


第二种方法就是在Eclipse安装一个Mybatis Generator 的插件,然后编写配置文件生成

1、打开Eclipse,选择Help->Eclipse Marketplace 搜索MyBatis Generator ,选择Mybatis Generator安装。
这里写图片描述
2、安装后新建一个Web工程,右键工程新建一个MyBatis Generator Configuration File(其实就是第一种方法的XML配置文件)
这里写图片描述
项目结构
3、填写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="G://mysql-connector-java-5.1.39.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <!-- 是否去除自动生成的注释 -->  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!--数据库链接URL,用户名、密码 -->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.0.111:3306/test" userId="abcd" password="111111" />  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!-- 生成模型的包名和位置-->  
        <javaModelGenerator targetPackage="com.cn.uuu.model" targetProject="TestMG/src/main/java">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!-- 生成映射文件的包名和位置-->  
        <sqlMapGenerator targetPackage="com.cn.uuu.mapping" targetProject="TestMG/src/main/java">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!-- 生成DAO的包名和位置-->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.cn.uuu.IDao" targetProject="TestMG/src/main/java">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
        <table tableName="tb_test" domainObjectName="Test" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
    </context>  
</generatorConfiguration>  

4、右键配置文件文件,点击Generate MyBatis/iBATIS Artifacts,就会生成相应的文件和文件夹了。
这里写图片描述
5、到此,如果你配置好MyBatis并导入了需要的包,应该就能正常调用了。
这里写图片描述


总结:
这两种方法各有所好,各位可以根据自己的需求选择,配置文件里面的属性都基本能在官网上找到解释,后来还发现了有一个网友翻译为中文的网站,相见恨晚啊!(英语好的请忽略)
官网:http://www.mybatis.org/generator/index.html
中文译网:http://mbg.cndocs.tk/configreference/xmlconfig.html

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

SQL自动生成与数据库持久层封装

  • 2017年05月05日 12:26
  • 19KB
  • 下载

mybatis-generator-maven-plugin插件自动生成代码的配置方法

1. 第一步,在pom文件中引入如下插件 org.mybatis.generator mybatis-generator-maven-...

08 Spring 操作持久层 (融合 Mybatis)最简使用(使用 Mybatis Generator)

转载请注明来源 赖赖的博客导语 对接越多,耦合约松,系统越复杂。 如果这章学习有困难,可以先参考番外 02: Spring 之使用 JAVA 操作Mysql数据库(为何要用ORM)Spring...

Maven Web项目使用MyBatis_Generator_1.3.1自动生成javabean,dao,mapper.xml代码

一. 说明: Maven Web项目使用MyBatis_Generator_1.3.1自动生成javabean,dao,mapper.xml代码 二. 准备:MyBatis_Generator...

使用MyBatis Generator 自动生成代码

使用MyBatis Generator自动生成代码 MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybati...

使用MyBatis generator自动生成代码

步骤1: 下载http://mybatis.googlecode.com/files/mybatis-generator-core-1.3.1-bundle.zip 下载好后解压。解压后有个doc目...

Maven插件之mybatis-generator自动生成DAO层代码的插件

1在pom.xml中做两处配置         1.1配置dependency         1.2配置plugin 2 创建generatorConfig.xml         2.1 ...

使用Mybatis-Generator自动生成代码

使用Mybatis-Generator自动生成代码MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结...

SpringBoot学习-如何使用mybatis-generator-maven-plugin自动生成代码

前提:已经创建了Spring Boot工程。 接下来讲解一下如何自动自动生成MySql数据库表的java代码。 1首先打开项目的pom.xml,添加依赖。如下图所示: ...
  • hxltech
  • hxltech
  • 2017年07月10日 11:06
  • 2139

使用MyBatis-Generator自动生成代码

一、MyBatis-Generator介绍 二、MyBatis-Generator配置 (1)检查是否安装MyBatis-Generator插件 1.1 MyEclipse下检查是否安装 1.2 Ec...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用MyBatis Generator自动生成持久层CRUD代码的两种方法
举报原因:
原因补充:

(最多只允许输入30个字)