MyBatis的逆向工程(创建逆向工程普通版的步骤、创建逆向工程高级版的步骤、QBC查询)

MyBatis的逆向工程

正向工程:先创建java实体类,由框架负责根据实体类生成数据库表,Hibernate是支持正向工程的。

逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成Java实体类,Mapper接口,Mapper映射文件

创建逆向工程普通版的步骤:

首先在数据库创建两张数据表,这里使用之前的Emp和Dept表

在pom.xml配置文件中添加依赖和插件

 创建核心配置文件

 创建逆向工程的配置文件(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>
    <!--
    targetRuntime: 执行生成的逆向工程的版本
    MyBatis3Simple: 生成基本的CRUD(清新简洁版)
    MyBatis3: 生成带条件的CRUD(奢华尊享版)
    -->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <!-- 数据库的连接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mybatis"
                        userId="root"
                        password="abc123">
        </jdbcConnection>
        <!-- javaBean的生成策略-->
        <javaModelGenerator targetPackage="com.mybatis.pojo"
                            targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- SQL映射文件的生成策略 -->
        <sqlMapGenerator targetPackage="com.mybatis.mapper"
                         targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- Mapper接口的生成策略 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.mybatis.mapper" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 逆向分析的表 -->
        <!-- tableName设置为*号,可以对应所有表,此时不写domainObjectName -->
        <!-- domainObjectName属性指定生成出来的实体类的类名 -->
        <table tableName="t_emp" domainObjectName="Emp"/>
        <table tableName="t_dept" domainObjectName="Dept"/>
    </context>
</generatorConfiguration>

执行MBG插件generate目标(双击即可)

 效果如下图所示:

 在核心配置文件中给包获取别名

 引入映射文件的包

 将下面添加所需要的配置文件 

再创建工具类文件

 创建逆向工程高级版的步骤:

将之前的逆向创建的文件全部删除

 步骤和创建普通版几乎一样,但是需要在generator.xml文件中将MyBatis3Simple修改成MyBatis3

 执行MBG插件generate目标(双击即可)

 结果如下所示:

 添加测试类

 QBC查询:

第一种:根据主键查询

sql语句如下所示(注意:被注释的就是sql语句):

 结果如下所示:

 第二种:查询所示数据

  结果如下所示:

第三种:根据条件查询

 结果如下所示:

第四种:测试修改功能

 结果如下所示:

 第五种:测试选择性修改

 结果如下所示:

 注意:第四种和第五种的区别

使用updateByPrimaryKey时,当前某个属性值为null则字段将会被修改

使用updateByPrimaryKeySelective时,当前某个属性值为null则字段将不会被修改

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jhan&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值