当前位置: 首页 > 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/a/135429.html

相关文章:

  • node.js安装和配置教程
  • Stored procedures in PostgreSQL
  • [vulnhub] DarkHole: 1
  • 为什么在Ubuntu下使用VScode开发C++程序时需要手动配置链接库
  • 小马识途营销顾问谈百科词条建立的注意事项
  • 链表(Linkedlist)
  • 清华源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语言幂级数求近似值