mybatis的逆向工程怎么实现_mybatis逆向工程原理

mybatis的逆向工程怎么实现_mybatis逆向工程原理复习逆向工程的使用,记录方便以后参考mybatis,一个相对于hibernate的轻量级DAO框架,它的逆向工程可以很方便的从数据库到生成对应的entity和mapper接口。首先准备:准备pom.xml引入mybatisgenerator的jar,若不是maven工程,可以把jar下载下来导进工程的lib下即可01.引入依赖(加入jar)进入ma

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

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

复习逆向工程的使用,记录方便以后参考

mybatis,一个相对于hibernate的轻量级DAO框架,它的逆向工程可以很方便的从数据库到生成对应的entity和mapper接口。

首先准备:

准备

pom.xml引入mybatis generator的jar,若不是maven工程,可以把jar下载下来导进工程的lib下即可

01.引入依赖(加入jar)

进入maven中央仓库:https://mvnrepository.com/  搜索mybatis generator

mybatis的逆向工程怎么实现_mybatis逆向工程原理

<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.5</version>
</dependency>

02.创建表

mybatis的逆向工程怎么实现_mybatis逆向工程原理

mybatis的逆向工程怎么实现_mybatis逆向工程原理

这里俩表的关系是:员工中的d_id是外键,dept表的主键

第一:创建mybatis的全局配置文件mybatis-config.xml

注:该文件是在classpath目录下的

配置一些全局信息

进入mybatis的github仓库参看案例进行配置:搜索mybatis–》进入mybatis github—》查看doc,最后的查看链接:mybatis getting started

mybatis的逆向工程怎么实现_mybatis逆向工程原理

找到:

mybatis的逆向工程怎么实现_mybatis逆向工程原理

把这些copy到你自己新建的mybatis-config.xml文件中,最后保留并配置的信息是如下:这些参数都可以在mybatis的doc相关目录下找到如何配置,我们都可以直接copy然后稍作修改

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--驼峰命名规则-->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!--包类型-->
    <typeAliases>
        <package name="cn.mym.crud.bean"/>
    </typeAliases>

</configuration>

第二:配置逆向工程配置文件:mbg.xml

注:此文件路径可以放在项目根目录,方便之后java程序的查找。这里我放在项目的根目录下

配置的参考:百度搜索mybatis generator—》进入github页面—》

进入参考文档页面 http://www.mybatis.org/generator/ —–》Quick Start Guide—》右边内容的XML Configuration File Reference

查看配置。连接:http://www.mybatis.org/generator/configreference/xmlconfig.html 如图:

mybatis的逆向工程怎么实现_mybatis逆向工程原理

然后copy官方给出的配置参考,最后我进行稍作修改之后如下:

<?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="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql:///ssm_crud"
                        userId="root"
                        password="123">
        </jdbcConnection>

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


        <!--指定javabean生成的位置-->
        <javaModelGenerator
                targetPackage="cn.mym.crud.entity"
                targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--指定sql映射文件生成的位置-->
        <sqlMapGenerator
                targetPackage="mapper"
                targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--指定dao接口生成的位置:mapper接口-->
        <javaClientGenerator
                type="XMLMAPPER"
                targetPackage="cn.mym.crud.dao"
                targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--指定每个表的生成策略-->
        <table tableName="tbl_emp" domainObjectName="Employee"></table>
        <table tableName="tbl_dept" domainObjectName="Department"></table>

    </context>
</generatorConfiguration>

第三:通过java程序进行逆向工程

java代码官方也给出案例:

mybatis的逆向工程怎么实现_mybatis逆向工程原理

我们在建立一个测试类copy代码,正确的导入相关mybatis generator的包后,执行即可:

public class GBMTest {

    public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
        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);
    }
}

执行后查看配置好的bean和mapper生成的位置,刷新可以看到:

mybatis的逆向工程怎么实现_mybatis逆向工程原理

附加:去除mapper接口中的注释

首先删除生成的内容

然后修改逆向工程策略配置文件:mbg.xml

修改一项内容:

查看官文档说明:

mybatis的逆向工程怎么实现_mybatis逆向工程原理

先找到最下方有配置案例  copy到mbg.xml:注意copy的位置,放到context标签中

mybatis的逆向工程怎么实现_mybatis逆向工程原理

查看官方文档的配置说明:

mybatis的逆向工程怎么实现_mybatis逆向工程原理

那么最后的标签内容为:

        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

最后再次执行逆向工程
mybatis的逆向工程怎么实现_mybatis逆向工程原理

ok,没有了注释,那么有其他需求可以参考官方文档进行配置



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

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

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


相关推荐

  • noip2012提高组初赛_noip2018提高组初赛解析

    noip2012提高组初赛_noip2018提高组初赛解析Noip2012参赛总结又一年NOIP考完了。刚刚才看了去年自己写的参赛总结,有点后悔考试之前没有看。里面有一句话“NOIP给的数据都是白痴的,一定要多测几组自己的数据,尽管有些数据你相信你的程序一定能过。但往往正是这些数据暴露出了你程序的不足。”对于DAY1的第二题。我想用深搜来做,尽管我知道过不了多少个点,但总比没有好。于是就以很快的速度敲完了深搜,测了两组数据就去做第三题了。离考试

    2022年8月22日
    4
  • 感知机的对偶形式「建议收藏」

    感知机的对偶形式「建议收藏」首先声明感知机的对偶形式与原始形式并没有多大的区别,运算的过程都是一样的,但通过对偶形式会事先计算好一些步骤的结果并存储到Gray矩阵中,因此可以加快一些运算速度,数据越多节省的计算次数就越多,因此比原始形式更加的优化。首先我们介绍一下感知机的原始形式,之后与其对比。感知机感知机是二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,分别去+1和-1两值。感知机对应与输入空间中将实例划

    2022年10月20日
    3
  • PetShop4 架构解析

    PetShop4 架构解析PetShop4架构解析 
    2010-07-26来源:网络 
    PetShop数据库解读
    PetShop数据访问层之数据库访问设计
    PetShop的工厂模式
    PetShop之业务逻辑层设计PetShop数据库解读
    PetShop4.0使用了四个数据库,分别为:MSPetShop4、MSPetShop4Orders、MSPetShop4Profile、MSPetShop4Services  
    一、MSPetShop4

    2022年10月17日
    4
  • 如何利用matlab进行聚类分析_什么是聚类分析

    如何利用matlab进行聚类分析_什么是聚类分析1.用Matlab编程实现运用Matlab中的一些基本矩阵计算方法,通过自己编程实现聚类算法,在此只讨论根据最短距离规则聚类的方法。调用函数:min1.m——求矩阵最小值,返回最小值所在行和列以及值的大小min2.m——比较两数大小,返回较小值std1.m——用极差标准化法标准化矩阵ds1.m——用绝对值距离法求距离矩阵cluster.m——应用最短距离聚类法进行聚类分析print1.m——调用…

    2022年10月11日
    3
  • Win7、Win10中Protel99se不能加载库文件解决方法「建议收藏」

    Win7、Win10中Protel99se不能加载库文件解决方法「建议收藏」Win7以后系统中Protel99se不能加载库文件解决方法在win7下安装Protel99se会出现无法添加原理图库,元件库的情况。如图,提示“filenotrecognized”。方法二:利用原理图FindComponent功能:首先,添加原理图库,在**.sch文件中点击“Find”(下图左)在“Path”中找到存放设计的文件夹,点击“Findnow”(下图右)再点击“close”即可;2)PCB库的添加如果在C:\Windows下找不到Advpcb

    2022年5月29日
    93
  • 如何理解海森堡的「不确定性原理」(总结)「建议收藏」

    如何理解海森堡的「不确定性原理」(总结)「建议收藏」如何理解海森堡的「不确定性原理」(总结)一、总结一句话总结:海森堡紧跟着给出“测不准原理”:【越精确地知道位置,则越不精确地知道动量】不确定性原理”的意思是:【一个运动粒子的位置和它的动量不可

    2022年8月5日
    9

发表回复

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

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