eclipse怎样自动创建实体类和表映像文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse怎样自动创建实体类和表映像文件相关的知识,希望对你有一定的参考价值。

参考技术A 打开window>show view>other,选择hibernate菜单下的hibernate config
然后在console选项卡里出现了hibernate configuration选项卡
如果从未配置过hibernate,那么这里就是空,空白处右击,选择add一个即可,如果配置过了,就会显示配置文件。

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 

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

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

 


以上是关于eclipse怎样自动创建实体类和表映像文件的主要内容,如果未能解决你的问题,请参考以下文章

eclipse怎样根据数据库边自动生成实体类

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

使用MyBatis的Generator自动创建实体类和dao的接口与xml

spring boot集成mybatis 自动生成实体类和mapper文件Dao层

使用java实体类自动生成Hibernate映射文件

mybatis 中如何映射实体类和表名