Mybatis定义基类的实现方式

本文介绍了如何在Mybatis中定义基类,利用注解实现通用的CRUD操作。文章详细讲解了@InsertProvider、@DeleteProvider、@UpdateProvider和@SelectProvider四个注解的作用,并展示了如何创建BaseProvider类提供SQL语句,以及如何定义BaseDao接口。通过这种方式,开发者可以快速实现单表操作的Mapper接口,同时理解其工作原理。
摘要由CSDN通过智能技术生成

项目中少不了CRUD的操作,在Mybatis中的Mapper文件中也随处可见增、删、改、查。但是,有的CRUD操作却是类似的,可以通过Mybatis提供的注解加上反射实现传入实体类就是简单的CRUD操作,这样的实现是基于对单表的操作,需要进行关联查询等操作时,还是老老实实的写在mapper文件中。

一、Mybatis中的注解

定义Mybatis基类我们需要用到org.apache.ibatis.annotations包下面四个很重要的注解:

(1)@InsertProvider,提供插入的SQL语句

(2)@DeleteProvider,提供删除的SQL语句

(3)@UpdateProvider,提供修改的SQL语句

(4)@SelectProvider,提供查询的SQL语句

@SelectProvider注解的中定义了两个属性,其中,type:指定提供SQL语句的类;method:指定提供SQL语句的方法。其他三个注解中也都有这两个属性。通过这些注解,在Mapper接口中定义方法时,我们就可以利用它来指定为这个方法指定提供SQL语句的方法,也就是这些主要用在Mapper接口中的方法上。这里我们不深入介绍Mybatis是如何通过这个注解获取SQL语句的,有兴趣的朋友可以看这篇博客https://blog.csdn.net/u012734441/article/details/86285209

@SelectProvider注解的源码如下:

/**
 * @author Clinton Begin
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SelectProvider {
  Class<?> type();

  String method();
}

二、定义Mybatis基类

这里不介绍整过环境的搭建过程,下文中主要介绍定义基类中的主要过程,也就是怎么使用上述介绍的注解类来完成向Mapper提供SQL语句的过程,也就是下文中的第三步:完成提供SQL类的方法,第四步:利用注解定义基础类接口——BaseDao。

第一,准备数据库表,表名为:user,字段定义如下:

+---------+--------------+------+-----+---------+
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值