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

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

第一步:建立一个Provider类。

博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider_第1张图片

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

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

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

第二步:编写Mapper接口类。

博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider_第2张图片

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

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

第三步:执行测试。

博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider_第3张图片

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

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

你可能感兴趣的:(博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider)