在 Mybatis 中,使用注解可以很方便的进行sql操作,但很多动态 SQL 都是由 xml 配置实现的。而随着 SpringBoot的逐渐发展,越来越多的配置由配置文件转成注解的形式。其中包括动态 SQL 。

Mybatis 的注解中,使用太过长的sql语句看起来很不美观。

@Select("SELECT title from book_tbl where id = #{id}")

如果想要在 mapper 中进行非必要关键字的查询时就需要使用动态 SQL,与 xml 配置不同的是,@Select注解中 SQL 语句必须以 <script> 标签包裹。

@Select("<script>"+"SELECT id " +"from book_tbl" +"<where>" +"<if test 'company_id != null'>" +"and company_id = #{company_id}" +"</if>" +"<if test 'title != null'>" +"and title like CONCAT('%',#{title},'%')" +"</if>" +"</where>" +"ORDER BY create_time desc,rank desc" +"</script>")

感谢大家的耐心阅读,如有建议请私信或评论留言

MyBatis 注解实现动态SQL相关推荐

  1. mybatis注解开发动态sql

    mybatis注解开发动态sql 本篇来讲一下如何使用mybatis注解模式中的动态sql 先来讲一下什么是动态sql 在我们实际开发的时候可能会出现很多方法需要一条很相似的sql语句来进行增删改查, ...

  2. Mybatis 注解开发 + 动态SQL

    Hello 大家好我是橙子同学,今天分享注解Mybatis注解开发+动态sql 目录 每文一铺垫(今天有小插曲哦) 注解开发 添加 @Insert 删除 @Delete 查询 @Select 修改 @ ...

  3. SpringBoot集成Groovy、Mybatis注解 实现动态SQL,帮你摆脱繁琐的XML配置

    SpringBoot的超简洁配置,为我们省去了宝贵的配置时间. Mybatis3在这方面也提供了很好的支持,通过注解让我们摆脱了繁琐的mapper xml,写DAO层的时候再也不用在java接口和xm ...

  4. Mybatis入门之动态sql

    Mybatis入门之动态sql 通过mybatis提供的各种标签方法实现动态拼接sql. 1.if.where.sql.include标签(条件.sql片段) <sql id="sel ...

  5. Mybatis映射文件动态SQL语句-01

    因为在很多业务逻辑复杂的项目中,往往不是简单的sql语句就能查询出来自己想要的数据,所有mybatis引入了动态sql语句, UserMapper.xml <?xml version=" ...

  6. Java - MyBatis中的动态SQL是什么意思?

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 对于一些复杂的查询,我们可能会指定多个查询条件,但是 ...

  7. SSM—mybatis框架-注解开发-动态sql(where,set,trim,choose,when,foreach)-模糊查询写法-特殊符号处理-缓存

    文章目录 2.0.注解 2.1.动态sql 2.1.1.where 2.1.2.set 2.1.3.trim 2.1.3.1.trim的where 2.1.3.2.trim的set 2.1.4.1.c ...

  8. 若依框架搜索框使用注解写动态SQL

    最近在使用若依前端框架开发项目,遇到了一些问题,当我们在分页时候遇到,数据库中是1,2,3分别代表男,女,未知,的时候怎么样才能在分页的时候返显出来. 直接上代码就ok啦 {field:'status ...

  9. MyBatis自定义自定义动态SQL解析方式

    引子 之前项目中一直使用的是JPA作为ORM框架,最近,新加了一个子服务,使用的是 MyBatis 作为ORM框架.既然用的是MyBatis,那就免不了 循环迭代参数.if 动态SQL查询等. 然而, ...

最新文章

  1. unigui的页面布局使用
  2. cisco路由器EIGRP配置实例
  3. 思科UCS服务器怎么安装系统,安装Redhat/CentOS操作系统在UCS M系列服务器
  4. 五家共井java_算法练习02:五家共井
  5. AUTOSAR从入门到精通100讲(二十四)-AUTOSAR通信篇—AUTOSAR COM模块
  6. python中的以简单例子解释函数参数、函数定义、函数返回值、函数调用
  7. session很快失效_深夜,我偷听到程序员要对session下手……
  8. centos7 java程序突然停止运行没有报错日志_CentOS7.5安装zookeeper3.4.10
  9. 【BZOJ】3786: 星系探索
  10. 火山安卓自定义组件封装源码讲解
  11. cmd代码表白_520你还不敢表白吗?
  12. dreamweaver序列号免费_dreamweaver8【dreamweaver8序列号】dreamweaver8注册码序列号简体中文版...
  13. 如何高效完成英文文献翻译
  14. JAVA项目一 家庭收支记账软件
  15. ArcGIS介绍 coverage、shapefile 和 geodatabase 这三种矢量数据。
  16. 为什么计算机不能自动搜索,电脑搜索功能不能用怎么办?教你一招快速解决
  17. amaze ui 中多选框select的问题
  18. VS2019配置WinPcap开发
  19. Android项目实践(二)——日记本APP(V2)
  20. 高可靠环境 FileNet 系统介绍和应用实例

热门文章

  1. win11_@文件扩展名@夜间护眼模式/黑白显示模式@windows资源管理器的文件夹优化自定义
  2. android 简单动画Animator
  3. iOS 发送邮件SKPSMTPMessage
  4. SwitchHosts一个修改、管理、切换多个hosts 方案的开源工具
  5. NP Problem
  6. [译] 编写AndroidStudio插件(四):集成Jira
  7. java编程---某公司的雇员分为以下若干类:Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(intmonth)根据参数月份来确定工资。
  8. WF4.0 基础篇 (五) 数据的传递 Variable变量
  9. 打造智能化交通出行的关键技术依仗-智慧交通
  10. sess.run()