MyBatis在注解中使用动态查询

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

例如:

sql 复制代码
    @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属性中的判定条件必须用引号包裹,否则会产生错误。
相关推荐
T0uken1 小时前
基于 vcpkg 与 LLVM-MinGW 的 Qt6 静态链接开发方案
c++·windows·qt
无心水2 小时前
【Hermes:Skill系统深度】21、Skill 调试与冲突解决:为什么没触发?怎么修复? —— Honcho 智能体排障完全手册
人工智能·windows·openclaw·养龙虾·hermes·养马·honcho
Python私教3 小时前
FuturesDesk 集成 OMC 多智能体编排提效
人工智能·windows·开源
旺财矿工3 小时前
小白速通:OpenClaw 2.6.6 Win11 本地化部署完整教程
人工智能·windows·openclaw·龙虾·一键部署小龙虾
是宇写的啊4 小时前
MyBatis-Plus
java·开发语言·mybatis
醇氧6 小时前
WSL 安装 Ubuntu 完整步骤(Windows 10/11 通用,极简无脑版)
linux·windows·ubuntu
skywalk81637 小时前
在 Windows 系统中,可以通过修改 VSCode 的用户数据目录和扩展目录来将插件(扩展)安装到非 C 盘
windows
虾壳云管家7 小时前
OpenClaw 2.6.6 从部署到技能使用一站式攻略
人工智能·windows·openclaw·openclaw一键部署教程·openclaw安装教程
发现你走远了7 小时前
Windows 下使用 pyenv-win:安装、迁移到 D 盘、配置镜像源与多版本切换实战
windows·pyenv-win
m0_738120728 小时前
后渗透维权提权基础——CTF模拟红队进行权限维持(二)
前端·网络·windows·python·安全·php