Mybatis 逆向工程代码

Mybatis 逆向工程代码,第1张

一、逆向工程是什么?

        逆向工程是动他生成XXXMapper抽象类和XXXMapper.xml文件 *** 作。

二、逆向工程代码步骤?

        1.创建maven项目导入逆向工程依赖

         

<dependencies>
  
    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>8.0.16version>
    dependency>

    
    <dependency>
        <groupId>org.slf4jgroupId>
        <artifactId>slf4j-log4j12artifactId>
        <version>1.6.1version>
    dependency>

    
    <dependency>
        <groupId>org.mybatis.generatorgroupId>
        <artifactId>mybatis-generator-coreartifactId>
        <version>1.3.2version>
    dependency>


dependencies>

<build>
    
    <resources>
        <resource>
            <directory>src/main/javadirectory>
            <includes>
                <include>**/*.xmlinclude>
            includes>
            <filtering>truefiltering>
        resource>
        <resource>
            <directory>src/main/resourcesdirectory>
            <filtering>truefiltering>
        resource>
    resources>
build>

        2.配置逆向工程配置文件 在resources目录下放置一个名为generatorConfig.xml的配置文

xml version="1.0" encoding="UTF-8"?>
 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>
         
         <property name="suppressAllComments" value="true" />
      commentGenerator>
      
      
       <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
         connectionURL="jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
         userId="root"
         password="123456">
      jdbcConnection> 

      
      <javaTypeResolver>
         <property name="forceBigDecimals" value="false" />
      javaTypeResolver>

      
      <javaModelGenerator targetPackage="cn.com.buba.pojo"
         targetProject="D:\java\Mybatis_buba\Mybaits_04\src\main\java">
         
         <property name="enableSubPackages" value="false" />
         
         <property name="trimStrings" value="true" />
      javaModelGenerator>
        
      <sqlMapGenerator targetPackage="cn.com.buba.mapper"
         targetProject="D:\java\Mybatis_buba\Mybaits_04\src\main\resources">
         
         <property name="enableSubPackages" value="false" />
      sqlMapGenerator>
      
      <javaClientGenerator type="XMLMAPPER"
         targetPackage="cn.com.buba.mapper"
         targetProject="D:\java\Mybatis_buba\Mybaits_04\src\main\java">
         
         <property name="enableSubPackages" value="false" />
      javaClientGenerator>
      
      
      <table tableName="dept" domainObjectName="Dept"
       enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"    
               enableSelectByExample="false" selectByExampleQueryId="false" >
               <columnOverride column="id" javaType="Integer" />
         table>
      
   context>
generatorConfiguration>

        

上面的配置文件有注释,这里强调一下自己使用需要修改的位置:

        (1)需要修改数据库连接信息,修改成自己的数据库的数据库用户名,密码,还有自己的数据库等信息。
        (2)需要修改生成的pojo实体类的生成路径,按照实际需求修改,比如这里将会在src/main/java下创建com.pp.pojo包并且生成实体类。
        (3)需要修改生成的mapper映射文件的位置,这里将会在src/main/java下创建com.pp.dao包并且生成XXXMapper映射文件。
        (4)需要修改生成的mapper映射文件的位置,这里将会在src/main/java下创建com.pp.dao包并且生成XXXMapper.xml映射文件。有些项目的XXXMapper.xml文件会在resource文件下写,所以这里也是根据自己的需求填写位置。
        (5)在该配置文件中,需要指定生成那几个数据库表的实体类和mapper接口文件以及mapper.xml文件。

        (6)targetProject=(里边填的是绝对路径)

        3.在resources目录下放置一个名为log4j.properties的配置文件,文件内容如下

       

log4j.rootLogger=debug,stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n

        4.运行逆向工程代码

        

public class GeneratorSqlmap {
    public void generator() throws Exception{
        List warnings = new ArrayList();
        boolean overwrite = true;

        File configFile = new File("D:\ideaProjects\reverse\target\classes\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) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

         4.完整的目录结构(红框中的是自动生成的)

        

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/730460.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)