Mybatis逆向工程中生成的Example类

    MyBatis Generator:简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、 存储过程等这些复杂sql的定义需要我们手工编写。

    详细的逆向工程搭建工程见博客:https://www.cnblogs.com/HawkFalcon/p/7999583.html

    在生成后的pojo类中,有一部分是名字为XxxExample的类出现。

    

        打开一个Example类我们会看到该类的三个成员变量:

        

 

        distinct字段用于指定DISTINCT查询。

        orderByClause字段用于指定ORDER BY条件,这个条件没有构造方法,直接通过传递字符串值指定。

        oredCriteria字段用于自定义查询条件。

        这个类是专门用来对这个单表来查询的类,对该单表的CURD操作是脱离sql性质的(已经通过逆向工程生成相应的sql),直接在service层就可以完成相应操作。

        逆向工程生成的文件XxxExample.java中包含一个static 的内部类 Criteria ,在Criteria中有很多方法,主要是定义SQL 语句where后的查询条件。

        

        MyBatis的Mapper接口以及Example的实例函数及详解:https://blog.csdn.net/biandous/article/details/65630783

 

  • 18
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
MyBatis逆向工程是一个非常实用的工具,可以根据数据库表结构自动生成Java Bean对象和Mapper映射接口代码,提高开发效率。而生成的代码默认使用XML文件配置SQL语句,但是随着Java EE技术的不断发展,注解已经逐渐成为了一个非常流行和便捷的编程方式。 因此,很多开发者开始使用MyBatis逆向工程生成注解的代码。下面是一个基本的工程配置步骤: 1. 添加相关依赖 在Maven工程,需要添加MyBatisMyBatis Generator和数据库驱动的依赖。例如: ``` <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 2. 编写generatorConfig.xml 该配置文件位于src/main/resources/目录下,可以使用MyBatis Generator提供的GUI工具进行可视化编辑,也可以手动编写该文件。编写该文件时需要注意以下几点: - database、jdbcConnection、table等元素的配置与普通的XML配置类似。 - 需要添加context元素,并在其配置JavaModelGenerator、SqlMapGenerator和JavaClientGenerator等元素,分别用来生成Java Bean、Mapper映射接口和Mapper XML文件。 - 在context元素添加targetRuntime="MyBatis3Simple"属性,表示使用简单的MyBatis3运行时,可以生成注解的代码。 例如: ```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> <context id="DB2Tables" targetRuntime="MyBatis3Simple"> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="root"> </jdbcConnection> <javaModelGenerator targetPackage="com.example.demo.pojo" targetProject="src/main/java"> </javaModelGenerator> <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java"> </sqlMapGenerator> <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java"> </javaClientGenerator> <table tableName="student"></table> </context> </generatorConfiguration> ``` 3. 运行Generator 使用Maven插件或者命令行运行MyBatis Generator,生成自动化代码到指定目录下。例如: ```shell mvn mybatis-generator:generate ``` 4. 代码使用 生成的 Java Bean、Mapper 接口和注解 SQL 语句已经全部生成了,可以直接使用。例如: ```java public interface StudentMapper { @Select({ "select", "id, name, age, sex", "from student", "where id = #{id,jdbcType=INTEGER}" }) @Results({ @Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true), @Result(column="name", property="name", jdbcType=JdbcType.VARCHAR), @Result(column="age", property="age", jdbcType=JdbcType.INTEGER), @Result(column="sex", property="sex", jdbcType=JdbcType.VARCHAR) }) Student selectByPrimaryKey(Integer id); } ``` 以上是MyBatis逆向工程生成注解的代码的工程配置过程,也是一种传统的方式。近年来,大部分使用MyBatis的开发者会选择使用习惯上更加统一的Lombok注解类库,必要的情况下也会对产生的代码进行瘦身优化,使代码更加简洁。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

编程小透明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值