JavaWeb学习我爱编程

逆向工程

2018-05-28  本文已影响53人  幻影翔

意义

mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml、mapper.java、表名.java(po类)。
方向: 由数据库表----> java代码

日志包、逆向包、数据库包

利用配置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>
<context id="Tables" targetRuntime="MyBatis3">
    <commentGenerator>
        <!-- 是否去除自动生成的注释 true:是 : false:否 -->
        <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql:///test?useUnicode=true&amp;characterEncoding=utf8"
                    userId="root"
                    password="a">
    </jdbcConnection>

    <!--   类型转换   默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和
        NUMERIC 类型解析为java.math.BigDecimal -->
    <javaTypeResolver>
        <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

  常用的位置放在src下
    <!-- targetProject:生成PO类的位置 -->
    <javaModelGenerator targetPackage="pojo"
                        targetProject="./mybatis/src">
        <!-- enableSubPackages:是否让schema作为包的后缀 -->
        <property name="enableSubPackages" value="false" />
        <!-- 从数据库返回的值被清理前后的空格 -->
        <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <!-- targetPackage:mapper映射文件生成的位置 -->
    <sqlMapGenerator targetPackage="mapper"
                     targetProject="./mybatis/src">
        <property name="enableSubPackages" value="false" />
    </sqlMapGenerator>


    <!--  生成DAO的包名和位置,这里配置将生成的dao类放在src/dao这个包下  -->
    <javaClientGenerator type="XMLMAPPER"
                         targetPackage="dao"
                         targetProject="./mybatis/src">
        <property name="enableSubPackages" value="false" />
    </javaClientGenerator>

    <!-- 指定表 -->
    <!--用户表-->
     <table schema="" tableName="user" />
     其他表
</context>
</generatorConfiguration>

注意

java程序实现

public  void generator() throws Exception{
    List<String> warnings = new ArrayList<String>();
    boolean overview = true;
    //指定逆向工程的配置文件
    File configFile = new File("/Users/jack/IdeaProjects/MyBatis0526/mybatis/src/generatorConfig-base.xml");
    ConfigurationParser cp = new ConfigurationParser(warnings);
    Configuration config = cp.parseConfiguration(configFile);
    DefaultShellCallback callback = new DefaultShellCallback(overview);
    MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback,warnings);
    myBatisGenerator.generate(null);
}


public static void main(String[] args) throws Exception {
   
        GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
        generatorSqlmap.generator();
        
   
}
上一篇 下一篇

猜你喜欢

热点阅读