mybatis逆向工程配置

转载整合自: 【项目管理】Mybatis-Generator之最完美配置详解
和 generator自动生成mybatis配置和类信息
不论是否被发现,一切荣誉归属于大佬。

mybatis官方提供逆向工程,可以使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2通过数据库中的表来自动生成Mapper接口和映射文件(单表增删改查)和Po类。
generator自动生成mybatis的xml配置、model、map等信息: 

  1. 下载mybatis-generator-core-1.3.2.jar包。 
    网址:
    http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DGenerator,下载mybatis-generator-core-1.3.2-bundle.zip,解压,找到lib下的需要jar包。
    导入的jar包有:

  2. 编写genertor的xml文件,名下:generator.xml




<generatorConfiguration>
    
    <classPathEntry location="D:\IDEA_Demo\SSMDemo\lib\mysql-connector-java-5.1.25-bin.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            
            <property name="suppressDate" value="true"/>
            
            <property name="suppressAllComments" value="true"/>
            
        commentGenerator>
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/rcjs"
                        userId="root"
                        password="123456">
        jdbcConnection>
        
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        javaTypeResolver>


        
        <javaModelGenerator targetPackage="com.rcjs.pojo" targetProject="src">
            
            <property name="enableSubPackages" value="true"/>
            
            <property name="trimStrings" value="true"/>
        javaModelGenerator>

        
        <sqlMapGenerator targetPackage="com.rcjs.dao" targetProject="src">
            
            <property name="enableSubPackages" value="true"/>
        sqlMapGenerator>

        
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.rcjs.dao" targetProject="src">
            
            <property name="enableSubPackages" value="true"/>
        javaClientGenerator>

        
        <table tableName="tb_member" domainObjectName="TbMember" enableCountByExample="true"
               enableUpdateByExample="true" enableDeleteByExample="true"
               enableSelectByExample="true" selectByExampleQueryId="true"/>

    context>

generatorConfiguration>

【注意事项】:
 【项目管理】Mybatis-Generator之最完美配置详解

  1. 运行有四种:命令生成(最简单)、Java生成、ant生成、maven生成。这里说两种,有兴趣其余的可以在mybatis官网去学习。 

1)命令生成:
到要生成Mapper接口和映射文件的文件路径的父文件夹下,执行如下命令:

要生成Mapper接口和映射文件的文件路径的父文件夹> 
java - jar jar包的文件路径\mybatis-generator-core-1.3.2.jar  -configfile  generator.xml的文件路径\generatorConfig.xml  -overwrite 

命令。
【注意事项】
生成Mapper接口和映射文件的文件路径的父文件夹是指,下图中targetProject所对应的文件夹的父类。


例子如下:

D:\IDEA_Demo\SSMDemo>
java -jar D:\IDEA_Demo\SSMDemo\lib\mybatis-generator-core-1.3.2.jar -configfile D:\IDEA_Demo\SSMDemo\config\generatorConfig.xml -overwrite

成功时输出:MyBatis Generator finished successfully.

2) java类:
这种有局限性,由于没法设置执行路径,所以,生成的文件,会在generatorConfig.xml的位置。

package cn.test;

import java.io.File;
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.internal.DefaultShellCallback;

public class MybatisGen {
    public static void generator() throws Exception {
        List warnings = new ArrayList();
        boolean overwrite = true;
        // 项目根路径不要有中文,我的有中文,所以使用绝对路径
        File configFile = new File("D:\IDEA_Demo\SSMDemo\config\generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
    }

    public static void main(String[] args) {
        try {
            generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. 生成代码之后,根据自己的实际项目架构,可以对生成的代码进行适当的修改,如把数据库管理交于spring等等。

你可能感兴趣的:(java)