• mybatis逆向工程懒人创造了世界


    MyBatis逆向工程,简称MBG。是一个专门为MyBatis框架使用者定制的代码生成器。可以快速的根据表生成对应的映射文件,接口,以及Bean类对象。

    Mybatis中,有一个可以自动对单表生成的增,删,改,查代码的插件。叫 mybatis-generator-core-1.3.2

    它可以帮我们对比数据库表之后,生成大量的这个基础代码。

    这些基础代码有:

    1、数据库表对应的javaBean对象

    2、这些javaBean对象对应的Mapper接口

    3、这些Mapper接口对应的配置文件

    (一个"魔术",将p1变成p2,惊喜中夹杂着惊吓)

         

    本例用到的数据库和数据表(数据请根据个人喜好添加)

    create database mbg;
    
    use mbg;
    
    create table t_user(
        `id` int primary key auto_increment,
        `username` varchar(30) not null unique,
        `password` varchar(40) not null,
        `email` varchar(50)
    );
    
    create table t_book(
        `id` int primary key auto_increment,
        `name` varchar(50),
        `author` varchar(50),
        `price`    decimal(11,2),
        `sales`    int,
        `stock` int
    );

    和以前项目一样的的导入所需要的jar包和一直在使用的log4j.properties和mybatis.xml文件等,需要新掌握的是:

    mbg.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>
        <!-- 
            targetRuntime 表示你要生成的版本
                MyBatis3                豪华版本
                MyBatis3Simple            CRUD标准版
         -->
      <context id="DB2Tables" targetRuntime="MyBatis3Simple">
    
          <!-- 去掉全部的注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
    
      <!-- 连接数据库的信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/mbg"
            userId="root"
            password="root">
        </jdbcConnection>
    
    
    
        <javaTypeResolver >
          <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
    
        <!-- javaModelGenerator配置生成模型JavaBean
                targetPackage生成的javaBean的包名
                targetProject生成之后在哪个工程目录下
         -->
        <javaModelGenerator targetPackage="com.pojo" targetProject=".\src">
          <property name="enableSubPackages" value="true" />
          <property name="trimStrings" value="true" />
        </javaModelGenerator>
        
        <!-- 
            sqlMapGenerator生成sql的mapper.xml配置文件
                targetPackage生成mapper.xml配置文件放的包名
         -->
        <sqlMapGenerator targetPackage="com.mapper"  targetProject=".\src">
          <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
    
        <!-- 
            javaClientGenerator配置生成的Mapper接口
                
         -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.mapper"  targetProject=".\src">
          <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
    
        <!-- 一个table标签,表示一个表  生成对应的javabean-->
        <table tableName="t_user" domainObjectName="User" ></table>
        <table tableName="t_book" domainObjectName="Book" ></table>
        
    
      </context>
    </generatorConfiguration>

    生成mbyatis的代码(每次生成都要先把原来的给删了)

    package mbg;
    
    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 Runner {
    
        public static void main(String[] args) throws Exception {
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            File configFile = new File("mbg.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);
        }
    
    }

    然后运行后刷新项目便可得到一些没有费吹灰之力就可以使用的代码了

    诸如此类

  • 相关阅读:
    c#无边框窗体移动 屏蔽双击最大化
    怎么样让代码都带有注释?
    权限设置相关,利用Microsoft.Win32.Security
    计算几何常用算法概览[转]
    VS 常见快捷键
    关于读取txt文件的分段问题
    ajax 常用方法
    文件以附件形式下载的方法
    半角和全角互换
    在ubuntu 中安装 jsdoc
  • 原文地址:https://www.cnblogs.com/ywqtro/p/12245342.html
Copyright © 2020-2023  润新知