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

Mybatis——动态SQL常用标签

IF

配置:

public interface BlogMapper {// 查询博客List<Blog> queryBlogIF(Map map);}
    <select id="queryBlogIF" parameterType="map" resultType="blog">select * from mybatis.blog where 1=1<if test="title != null">and title = #{title}</if><if test="author != null">and author = #{author}</if></select>

测试:

    @Testpublic void queryBlogIF(){SqlSession sqlSession = MybatisUtils.getSqlSession();BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);HashMap map = new HashMap();map.put("title","学好Mybatis");List<Blog> blogs = mapper.queryBlogIF(map);for (Blog blog : blogs) {System.out.println(blog);}sqlSession.close();}

choose、when、otherwise

    <select id="queryBlogChoose" parameterType="map" resultType="blog">select * from mybatis.blog<where><choose><when test="title != null">title = #{title}</when><when test="author != null">and author = #{author}</when><otherwise>and views = #{views}</otherwise></choose></where></select>

trim、where、set

    <select id="queryBlogIF" parameterType="map" resultType="blog">select * from mybatis.blog<where><if test="title != null">title = #{title}</if><if test="author != null">and author = #{author}</if></where></select>
    <update id="updateBlog" parameterType="map">update mybatis.blog<set><if test="title != null">title = #{title},</if><if test="author != null">author = #{author]</if></set>where id = #{id}</update>

所谓的动态SQL,本质还是SQL语句,只是我们可以在SQL层面,去执行一个逻辑代码

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaWeb笔记_Cookie
  • 企业微信PC版应用跳转到默认浏览器,避坑指南,欢迎补充(Vue项目版)。。。
  • IVI(In-Vehicle Infotainment,智能座舱的信息娱乐系统)
  • 深度学习落地实战:人脸面部表情识别
  • 【Android Framewrok】Handler源码解析
  • L298N的输出电流与电压
  • 我在百科荣创企业实践——简易函数信号发生器(5)
  • CentOS Mysql8 数据库安装
  • 【NLP】关于参数do_sample的解释
  • php编译安装
  • 浅聊 Three.js 屏幕空间反射SSR-SSRShader
  • 【JavaScript 算法】滑动窗口:处理子数组问题
  • 打造直播工具详解:从零开始开发直播美颜SDK
  • Android14 - 前台Service、图片选择器 、OpenJDK 17、其他适配
  • Flink HA
  • [nginx文档翻译系列] 控制nginx
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Java IO学习笔记一
  • JavaScript-Array类型
  • Linux CTF 逆向入门
  • Mithril.js 入门介绍
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • PermissionScope Swift4 兼容问题
  • XML已死 ?
  • 初探 Vue 生命周期和钩子函数
  • 大整数乘法-表格法
  • 搞机器学习要哪些技能
  • 回顾 Swift 多平台移植进度 #2
  • 看域名解析域名安全对SEO的影响
  • 前嗅ForeSpider采集配置界面介绍
  • 少走弯路,给Java 1~5 年程序员的建议
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 我感觉这是史上最牛的防sql注入方法类
  • 学习笔记:对象,原型和继承(1)
  • ionic入门之数据绑定显示-1
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #NOIP 2014#Day.2 T3 解方程
  • #数学建模# 线性规划问题的Matlab求解
  • (12)目标检测_SSD基于pytorch搭建代码
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (四)js前端开发中设计模式之工厂方法模式
  • (四)图像的%2线性拉伸
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (转)Linq学习笔记
  • (转)大道至简,职场上做人做事做管理
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net 提取注释生成API文档 帮助文档
  • .net后端程序发布到nignx上,通过nginx访问
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [2544]最短路 (两种算法)(HDU)