博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider

上一节我们学习了如何使用Mybatis的注解,通过注解的方式实现SQL配置。小博老师今天给大家讲解Mybatis使用注解来配置Mapper的新特性:Provider。使用provider可以让我们自定义类,动态定义SQL语句,包括以下几个注解:@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider。这一节学习@SelectProvider的使用方法。

第一步:建立一个Provider类。

006zipb5zy78Zf3vpJ4e6&690

这是一个简单的类,不继承任何父类。有两点需要注意:

1. 必须要有无参的构造函数;

2. 生成SQL的方法必须是public的,返回值类型必须为String,可以为static。

第二步:编写Mapper接口类。

006zipb5zy78Zf4bscmb6&690 

与上一节代码稍有不同的是,使用了@SelectProvider注解。接口参数定义了@Param注解。

@SelectProvider注解用于生成查询用的sql语句,不同于@Select注解,@SelectProvide需要指定一个Class及其方法。Mybatis会通过调用Class内的指定方法来获得sql语句,并传递相应参数。

第三步:执行测试。

006zipb5zy78Zf4Cb4Bb9&690 

测试案例与之前的没有变化,结果也与预期一致。

@SelectProvider让编写SQL语句更加灵活,自定义性更强。

转载于:https://my.oschina.net/u/2971691/blog/843949

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值