MyBatisCodeHelper快速生成实体类和mapper方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatisCodeHelper快速生成实体类和mapper方法相关的知识,希望对你有一定的参考价值。

参考技术A 首先,需要在idea中配置数据源:

右键点击想要快速生成对象的表,点击小红鸟开始生成

点击定制列,更改生成字段的类型,一般将byte改为integer

小技巧:
在mapper.java中,输入selectAllBy****(字段名),可以自动生成符合查找逻辑的SQL

按下alt+回车即可自动生成

Mybatis自动生成实体类和实体映射工具

Mybatis Mysql生成实体类

用到的Lib包:

mybatis-generator-core-1.3.2.jar
mysql-connector-java-5.1.30.jar

1. 创建一个文件generator.properties, 主要用于配置相关路径和数据库信息。

#工程src路径  
project = D:/project/
#工程存放mapper.xml路径  
resource = D:/project/
#指定数据连接驱动jar地址  
classPath=D:/project/mysql-connector-java-5.1.30.jar
jdbc_driver=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/mzq_test
jdbc_user=root
jdbc_password=  

 

2. 创建一个配置文件 generatorConfig.xml,  Mybatis相关配置。

 

<?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="generator.properties"/>
      
    <!-- 指定数据连接驱动jar地址 -->  
    <classPathEntry location="${classPath}" />  
      
    <!-- 一个数据库一个context -->  
    <context id="infoGuardian" targetRuntime="MyBatis3">  
        <!-- 注释 -->  
        <commentGenerator >  
            <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->  
            <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->  
        </commentGenerator>  
          
        <!-- jdbc连接 -->  
        <jdbcConnection driverClass="${jdbc_driver}"
            connectionURL="${jdbc_url}" userId="${jdbc_user}"
            password="" />
          
        <!-- 类型转换 -->  
        <javaTypeResolver>  
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
          
        <!-- 生成实体类地址 -->    
        <javaModelGenerator targetPackage="com.test.pojo"
            targetProject="${project}" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.test.domain", true:com..test.domain".[schemaName] -->  
            <property name="enableSubPackages" value="false"/>  
            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
          
        <!-- 生成mapxml文件 -->  
        <sqlMapGenerator targetPackage="com.test.dao.mapping"
            targetProject="${resource}" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.test.domain", true:com..test.domain".[schemaName] --> 
            <property name="enableSubPackages" value="false" />  
        </sqlMapGenerator>  
          
        <!-- 生成mapxml对应client,也就是接口dao -->      
        <javaClientGenerator targetPackage="com.test.dao"  
            targetProject="${project}" type="XMLMAPPER" >  
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.test.domain", true:com..test.domain".[schemaName] --> 
            <property name="enableSubPackages" value="false" />  
        </javaClientGenerator>  
          
        <!-- 配置表信息,这里没生成一张表,这里需要改变一次对应表名 -->    
        <table schema="mzq_test" tableName="zte_order"
            domainObjectName="ZteOrder" enableCountByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"  
            enableUpdateByExample="false">  
            <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample   
                是否生成 example类   -->  
              
            <!-- 忽略列,不生成bean 字段   
            <ignoreColumn column="FRED" />-->  
            <!-- 指定列的java数据类型   
            <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->  
        </table>  
  
    </context>  
</generatorConfiguration>  

 

3. 写一个可以执行的generatorMain类来生成实体类。

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorMain {
    public static void main(String[] args) {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //读取配置文件  
        File configFile = new File("src/generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config;
        try {
            config = cp.parseConfiguration(configFile);

            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator;
            try {
                myBatisGenerator = new MyBatisGenerator(config, callback,
                        warnings);
                myBatisGenerator.generate(null);

                //打印结果  
                for(String str : warnings){
                    System.out.println(str);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

        } catch (IOException e) {
            e.printStackTrace();
        } catch (XMLParserException e) {
            e.printStackTrace();
        }
    }
}  

 大功告成:

技术分享

gitHub地址: https://github.com/owenma/mybatis-tools

如果觉得有疑问或者对你有帮助 欢迎评论。

作者:森林木马

出处:http://www.cnblogs.com/owenma/p/7290520.html 

 如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意 

转载文章之后必须在 文章页面明显位置给出作者和原文连接否则保留追究法律责任的权利。

 


以上是关于MyBatisCodeHelper快速生成实体类和mapper方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用实体 bean 类名和属性名生成类和属性?

反向生成hibernate实体类和映射文件

eclipse 通过Hibernate 逆向生成实体类和映射文件

eclipse 通过Hibernate 逆向生成实体类和映射文件

Screw工具基本使用:一键生成Java实体类和数据库文档

Screw工具基本使用:一键生成Java实体类和数据库文档