博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider
阅读量:6411 次
发布时间:2019-06-23

本文共 595 字,大约阅读时间需要 1 分钟。

hot3.png

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

第一步:建立一个Provider类。

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

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

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

第二步:编写Mapper接口类。

006zipb5zy78Zf4bscmb6&690 

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

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

第三步:执行测试。

006zipb5zy78Zf4Cb4Bb9&690 

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

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

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

你可能感兴趣的文章
ASP.NET的URL过滤
查看>>
动态规划——最长公共子序列(LCS)
查看>>
Hystrix已经停止开发,官方推荐替代项目Resilience4j简介
查看>>
华为mate10pro为全家福准备了各种姿势 你get到了吗
查看>>
Spring源码分析(四)SpringMVC初始化
查看>>
日记(react modal)
查看>>
Mac 安装 GO语言开发环境
查看>>
Node.js EventEmitter解读
查看>>
iOS开发: CocoaPods远程私有仓库的维护升级
查看>>
构建dubbo分布式平台-window安装zookeeper注册中心
查看>>
Qtum量子链周报(11月26日-12月2日)
查看>>
Qtum区块链指南
查看>>
CEO被曝盗窃事件背后,来电科技还能回到发展正轨吗?
查看>>
iOS的Cookie存取看我绝对够!!
查看>>
《架构师之路》(58沈剑) 读书笔记
查看>>
史上最烂的开发项目长啥样:苦撑12年,600多万行代码...
查看>>
Java枚举(三)
查看>>
数据库调研:memcached
查看>>
综合扫描及安全评估
查看>>
Web 性能优化: 图片优化让网站大小减少 62%
查看>>