当前位置: 首页 > article >正文

MyBatis在注解中使用动态查询

以前为了使用注解并在注解中融入动态查询,会使用Provider。后来发现只要加入"<script>包含动态查询的SQL语句</script>"就可以了。

例如:

    @Select("<script>" +
            "select  v.*,u.avatar,u.nickname from videos v join users u on v.uid = u.id " +
            "<where>" +
            "<if test= \'keyword!=null and keyword!=\"\" \' >" +
            " v.video_desc like '%${keyword}%'" +
            "</if> " +
            "and v.status = 1 " +
            "</where>" +
            "order by v.create_time desc"+
            "</script>")
    public List<UserVideosResp> getAllVideosByKeyword(String keyword);

需要提示两点的是:

  1. SQL语句是使用字符串的拼接形成的,要特别注意组成SQL语句的字符串后面是不是有足够的空格。字符串拼接出来的SQL是不是符合SQL应有的语法格式。
  2. <if test='...'> if标签写在test属性中的判定条件必须用引号包裹,否则会产生错误。

http://www.kler.cn/news/135429.html

相关文章:

  • 清华源Certificate verification failed解决办法
  • 竞赛选题 深度学习的视频多目标跟踪实现
  • 计算机毕业设计选题推荐-个人健康微信小程序/安卓APP-项目实战
  • 华为数通HCIP 821BGP 知识点整理
  • kubectl 本地远程链接k8s多个集群,远程管控多集群,查看日志 部署服务(windows版)
  • Go基础面经大全(持续补充中)
  • 【封装UI组件库系列】搭建项目及准备工作
  • 聊一聊go的单元测试
  • vue3的自定义指令
  • WMS仓储管理系统的工作流程是什么
  • ElasticSearch 安装(单机版本)
  • 云原生微服务-理论篇
  • 【运维篇】5.6 Redis server 主从复制配置
  • C++中使用构造函数进行类型转换
  • C++——模板
  • Java中异常的捕获与处理
  • 你听说过“消费多少返利多少的”模式吗?
  • 基于Vue+SpringBoot的医院门诊预约挂号系统 开源项目
  • 【C/PTA】函数专项练习(二)
  • C语言幂级数求近似值
  • JC/T 2339-2015 地暖用相变储能材料及构件检测
  • 游戏报错d3dcompiler_47.dll缺失怎么修复,总结多种修复方法
  • Linux文件目录以及文件类型
  • Iceberg学习笔记(1)—— 基础知识
  • Linux:zip包的压缩与解压
  • C#开发的OpenRA游戏之属性QuantizeFacingsFromSequence(7)
  • 测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发
  • 代码随想录 11.16 || 动态规划 LeetCode 583.两个字符串的删除操作、72.编辑距离
  • 网工内推 | 国企、港企网工,年底双薪,NA以上认证即可
  • CentOS 安装etcd集群 —— 筑梦之路