Mybatis 逆向工程

来源:互联网 发布:网络打印机打印错误 编辑:程序博客网 时间:2024/06/06 07:34

请先看下方注意事项
配置文件

<?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><!-- jdbc驱动的绝对路径(如果相对路径不行的话) --><classPathEntry location="./mysql-connector-java-5.1.7-bin.jar" />    <context id="testTables" targetRuntime="MyBatis3">        <commentGenerator>            <!-- 是否去除自动生成的注释 true:是 : false:否 -->            <property name="suppressAllComments" value="true" />        </commentGenerator>        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->        <jdbcConnection driverClass="com.mysql.jdbc.Driver"            connectionURL="jdbc:mysql://localhost:3306/mydb?useUnicode=true&amp;characterEncoding=UTF-8"             userId="test"            password="123456">        </jdbcConnection><!-- oracle 连接数据库 -->               <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"             userId="yycg" password="yycg"> </jdbcConnection> -->        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL             和 NUMERIC 类型解析为java.math.BigDecimal -->        <javaTypeResolver>            <property name="forceBigDecimals" value="false" />        </javaTypeResolver>        <!-- targetProject:生成PO类的位置 -->        <javaModelGenerator targetPackage="cn.zfs.commons.po"            targetProject=".\src">            <!-- enableSubPackages:是否让schema作为包的后缀 -->            <property name="enableSubPackages" value="false" />            <!-- 从数据库返回的值被清理前后的空格 -->            <property name="trimStrings" value="true" />        </javaModelGenerator>        <!-- targetProject:mapper映射文件生成的位置 -->        <sqlMapGenerator targetPackage="cn.zfs.commons.mapper"            targetProject=".\src">            <!-- enableSubPackages:是否让schema作为包的后缀 -->            <property name="enableSubPackages" value="false" />        </sqlMapGenerator>        <!-- targetPackage:mapper接口生成的位置 -->        <javaClientGenerator type="XMLMAPPER"            targetPackage="cn.zfs.commons.mapper" targetProject=".\src">            <!-- enableSubPackages:是否让schema作为包的后缀 -->            <property name="enableSubPackages" value="false" />        </javaClientGenerator>        <!-- 指定数据库表 tableName='表名'-->        <table tableName="study"></table>        <table tableName="study"></table>        <table tableName="study"></table>    </context></generatorConfiguration>

类文件

package generator;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;/** *   * <p> * Title: Generator * </p> *   * <p> * Description: TODO(这里用一句话描述这个类的作用)  * <p> * <p> * Company: www.itcast.com * </p> *     @date 2016-1-23 下午5:06:41    @version 1.0 */public class Generator {    public static void main(String[] args) throws Exception {        List<String> warnings = new ArrayList<String>();        boolean overwrite = true;        File configFile = new File("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);    }}

相关jia包

mybatis-3.2.7.jarmybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.7-bin.jar(jdbc 的驱动)

最后将src和所有的jar包配置文件放在同一目录下进去执行一下命令

这里写图片描述

Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

注意:
如果命令已经执行过一次后,请不要在继续执行,如果执行,则生成的文件就不能在使用,
原因:虽然我们看着文件的内容是符合要求的,但是观察文件的大小变成了原来的n倍
命令只执行一次,在次执行,生成相同的文件,请删除原来的旧文件