码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis generator工具的使用

时间:2017-04-14 23:20:46      阅读:672      评论:0      收藏:0      [点我收藏+]

标签:mapper   mod   delete   location   color   方式   arraylist   dbcc   class   

mybatis反转数据库的配置文件:

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>
    <!-- 配置mysql驱动包,使用的绝对路径 -->
    <classPathEntry location="G:\javalib\jdbc\mysql-connector-java-5.0.8-bin.jar"/>
    
    <context id="westward_mysql_tables" targetRuntime="MyBatis3">
         <!-- 控制生成的代码中的注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        
        <!-- 数据库连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" 
                        userId="yao" password="y123" />
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        
        <!-- 数据表对应的model 层  -->
        <javaModelGenerator targetPackage="com.westward.bean" targetProject="src">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        
        <!-- sql mapper 映射配置文件 -->
        <sqlMapGenerator targetPackage="com.westward.mapper" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        
        <!-- 在ibatis2 中是dao层,但在mybatis3中,其实就是mapper接口 -->
        <javaClientGenerator targetPackage="com.westward.inter" type="XMLMAPPER" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        
         <!-- 要对那些数据表进行生成操作,必须要有一个. -->
        <table tableName="category" schema="mybatis" domainObjectName="Category" 
                enableCountByExample="false" enableDeleteByExample="false" 
                enableSelectByExample="false"  
                enableUpdateByExample="false" selectByExampleQueryId="false" >
        </table>
    </context>
    
</generatorConfiguration>

根据配置文件,生成对应的bean,接口,mapper的方法:

mybatis官网:http://www.mybatis.org/generator/running/running.html

给了好几种方法:我就摘出两种最常用的吧:

1.命令行的方式:

java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite

技术分享

 

注意jar包和xml文件的路径

2.java代码的形式:
public static void main(String[] args) {
        List<String> warnings= new ArrayList<String>();
        boolean overwrite= true;
        String genCfg= "G:/workspace10/mybatisgenerator/src/generatorConfig.xml";
        File configFile= new File(genCfg);
        ConfigurationParser cp= new ConfigurationParser(warnings);
        Configuration config= null;
        try {
            config= cp.parseConfiguration(configFile);
            DefaultShellCallback callback= new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator= null;
            myBatisGenerator= new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
            
            System.out.println(warnings);
            
        } catch (IOException e) {
            e.printStackTrace();
        } catch (XMLParserException e) {
            e.printStackTrace();
        } catch (InvalidConfigurationException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
}

其中集合warning,会存储执行的错误信息,若无错误,则集合中无元素。


可能出现的错误:
[There are no statements enabled for table mybatis.category, this table will be ignored.]
原因:generatorConfig.xml中,<table>标签配成了这样,
技术分享

把标红的去掉就行了,标红的默认是true,不需要显示配成false.上边的带Example的配成false就行,带Example的是指示例,这个基本不需要。















mybatis generator工具的使用

标签:mapper   mod   delete   location   color   方式   arraylist   dbcc   class   

原文地址:http://www.cnblogs.com/westward/p/6711135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!