mybatis逆向工程配置文件_mybatis逆向工程多表查询

mybatis逆向工程配置文件_mybatis逆向工程多表查询mybatis逆向工程很早之前有用过,但是一直没有整理使用步骤,今天来回顾下在idea下springboot中整合mybatis逆向工程的实现步骤什么是逆向工程?所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo、mapper以及mapper.xml。本文将介绍两种方式实现mybatis的逆向工程。generatorConfig.xml配置文件配置数据…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

mybatis逆向工程很早之前有用过,但是一直没有整理使用步骤,今天来回顾下在idea下springboot中整合mybatis逆向工程的实现步骤

什么是逆向工程?

所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo、mapper以及mapper.xml。本文将介绍两种方式实现mybatis的逆向工程。

generatorConfig.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>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry location="D:\apache-maven-3.5.4\maven-repository\mysql\mysql-connector-java\5.1.37\mysql-connector-java-5.1.37.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/mybatis" userId="root" password="123">
        </jdbcConnection>
        <!--默认为false,把JDBC DECIMAL 和NUMERIC类型解析为Integer,为true时 把JDBC DECIMAL 和NUMERIC类型解析为java.math.BigDecimal-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.kevin.lce.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="com.kevin.lce.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.kevin.lce.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="tb_user_role" domainObjectName="UserRole">
        </table>
        <!--<table tableName="tb_content_category"-->
               <!--domainObjectName="ContentCategory"-->
               <!--enableCountByExample="false"-->
               <!--enableUpdateByExample="false"-->
               <!--enableDeleteByExample="false"-->
               <!--enableSelectByExample="false"-->
               <!--selectByExampleQueryId="false">-->
        <!--</table>-->
    </context>
</generatorConfiguration>

代码方式实现逆向工程

引入逆向工程依赖

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>

引入插件

            <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>

xml读取

        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>

            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>

手工代码实现逆向工程

@RunWith(SpringRunner.class)
@SpringBootTest
public class LceApplicationTests { 
   

    @Test
    public void contextLoads() { 
   
        try { 
   
            generator();
        } catch (Exception e) { 
   
            e.printStackTrace();
        }
    }

    /** * 代码方式实现逆向工程 * @throws Exception */
    public void generator() throws Exception { 
   
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        // 指定配置文件
        File configFile = new File("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);
    }
}

maven方式启动逆向工程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

mybatis-generator:generate -e

最后apply – ok

启动刚刚的maven

在这里插入图片描述

这样即完成

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171832.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 经典StNet行为识别网络「建议收藏」

    经典StNet行为识别网络「建议收藏」论文题目:StNet:LocalandGlobalSpatial-TemporalModelingforActionRecognition论文链接:https://arxiv.org/abs/1811.01549代码:https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleCV/video/model…

    2022年6月21日
    36
  • 黑客常用命令大全

    黑客常用命令大全刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令。所以学DOS系统操作,cmd命令提示符是不可或缺的。可以告诉大家,大多数的程序员牛人或计算机专家在DOS系统下的操作是非常了得的,所以菜鸟要想成为计算机高手,DOS命令是非学不可。  直到今天的Windows系统,还是离不开DOS命令的操作。学习DOS系统操作,首先了解

    2022年7月15日
    12
  • JDBC连接数据库6个步骤

    JDBC连接数据库6个步骤JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤:   首先准备JDBC所需的四个参数(user,password,url,driverClass)(1)user用户名(2)password密码(3)URL定义了连接数据库时的协议、子协议、数据源标识,它们之间用冒号隔开。  书写形式:  协议:子协议:数据源标识       协议:在JDBC中总是以jdb…

    2022年7月12日
    13
  • linux系统sdio接口wifi编程,3个SDIO接口WiFi模块/WiFi+蓝牙组合模块介绍-SKYLAB「建议收藏」

    linux系统sdio接口wifi编程,3个SDIO接口WiFi模块/WiFi+蓝牙组合模块介绍-SKYLAB「建议收藏」原标题:3个SDIO接口WiFi模块/WiFi+蓝牙组合模块介绍-SKYLAB听说你在找SDIO接口WiFi模块/WiFi蓝牙组合模块?SKYLAB有推出3款支持SDIO接口的小尺寸WiFi模块和WiFi+蓝牙组合模块。以下是这三款模块详情。(1)支持SDIO接口WiFi模块WG223WG223是一款SDIO接口(兼容SDIO1.1/2.0/3.0)WiFi模块,专门为实现嵌入式系统…

    2022年10月3日
    0
  • Altium Designer 13 插件安装

    Altium Designer 13 插件安装关键词:AltiumDesigner13;导入Protel99SE很多人反应AltiumDesigner13等版本无法Protel99SE的文件,实际上这是由于新的安装机制导致,新版本将很多功能以插件的方式存在,这些插件包含在安装包中,但是实际上不会默认安装,因此需要手动安装。安装方法首先先做好设定,上面说过这些插件的安装文件在安…

    2022年7月13日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号