• mybatis的逆向工程


    1.什么是逆向工程

      mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xmlpo..

      企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。 

      1.1下载逆向工程

      在官网上下载:

       

        

      1.2src目录下配置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="testTables" targetRuntime="MyBatis3">
          <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
          connectionURL="jdbc:mysql://localhost:3306/financial"
          userId="root"
          password="123456">
        </jdbcConnection>
        <!-- <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.itcast.ssm.po"
          targetProject=".src">
        <!-- enableSubPackages:是否让schema作为包的后缀 -->
          <property name="enableSubPackages" value="false" />
        <!-- 从数据库返回的值被清理前后的空格 -->
          <property name="trimStrings" value="true" />
          </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
          <sqlMapGenerator targetPackage="cn.itcast.ssm.mapper"
          targetProject=".src">
        <!-- enableSubPackages:是否让schema作为包的后缀 -->
          <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
          <javaClientGenerator type="XMLMAPPER"
          targetPackage="cn.itcast.ssm.mapper"
          targetProject=".src">
        <!-- enableSubPackages:是否让schema作为包的后缀 -->
          <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <table tableName="user"></table>
        <table tableName="financial"></table>
        </context>
      </generatorConfiguration>

      1.3运行程序,则自动生成

         

      代码清单:    

    package com.ifysse.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;
     
    public class Generator {
          public static void generator() throws Exception{
              List<String> warnings = new ArrayList<String>();
               boolean overwrite = true;
               //绝对路径。
               File configFile = new File("D:/Users/Administrator/workspace/shoopweb/src/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();
           }
       }

    }

           }
       }

    }

    运行成功后如下图所示:

     

  • 相关阅读:
    关于策略模式和简单工厂模式的理解
    ab压力测试使用说明
    PHP AMQP扩展安装
    ELK配置说明及个人理解
    冒泡算法和快速排序算法实现和比较
    rabbitMQ PHP 链接实例
    关于长连接和短连接的理解及使用场景
    ABP框架 替换默认审计实现
    System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies .NET Core 图片操作在 Linux/Docker 下的坑
    docker 学习资料
  • 原文地址:https://www.cnblogs.com/wyl9527/p/6374812.html
Copyright © 2020-2023  润新知