查询学生信息动态sql

<!--    where当查询的条件全部为null 则自动去除where 关键字如果有查询条件,但是第一个查询条件前有 and or 关键词,则可以自动去除关键词-->
<!--        查询 方法一:--><select id="search" resultType="student">select * from student<where><if test="stuNo!=null">stu_no=#{stuNo}</if><if test="stuName!=null">and stu_name=#{stuName}</if><if test="stuSex!=null">and stu_sex=#{stuSex}</if></where></select><!--    方法二:--><select id="search" resultType="student">select * from student
--         prefix 添加where前缀
--            prefixOverrides 去除and 前缀<trim prefix="where" prefixOverrides="and"><if test="stuNo!=null">stu_no=#{stuNo}</if><if test="stuName!=null">and stu_name=#{stuName}</if><if test="stuSex!=null">and stu_sex=#{stuSex}</if></trim></select>

根据学号修改学生信息动态sql

<!--    修改 方法一:--><update id="updateByStuNo" parameterType="student">update student<set><if test="stuName!=null">stu_name=#{stuName},</if><if test="stuSex!=null">stu_sex=#{stuSex},</if><if test="stuAge!=null">stu_age=#{stuAge}</if></set>wherestu_no=#{stuNo}</update><!--    方法二:--><update id="updateByStuNo" parameterType="student">update student
--         suffixOverrides  去除后缀 ,<trim prefix="set" suffixOverrides=","><if test="stuName!=null">stu_name=#{stuName},</if><if test="stuSex!=null">stu_sex=#{stuSex},</if><if test="stuAge!=null">stu_age=#{stuAge}</if></trim>wherestu_no=#{stuNo}</update>

根据学号批量删除学生信息

<!--    parameterType 参数类型-->
<!--    批量删除  方法一:-->
<!--             collection  传递的参数取的别名-->
<!--             item 代表从集合里取出的元素-->
<!--             separator 分隔符--><delete id="deleteMore" parameterType="list">delete from student where stu_no in(<foreach collection="ids" item="id" separator=",">#{id}</foreach>)</delete><!--    方法二:--><delete id="deleteMore" parameterType="list">delete from student where stu_no in<foreach collection="ids" open="(" item="id" separator="," close=")">#{id}</foreach></delete><!--    方法三:--><delete id="deleteMore" parameterType="list">delete from student where<foreach collection="ids" item="id" separator="or">stu_no=#{id}</foreach></delete>

查询条件有优先级别,只会使用一个条件进行查询操作

<select id="search" resultType="student">select * from student<where><choose><when test="stuNo!=null">stu_no=#{stuNo}</when><when test="stuName!=null">and stu_name=#{stuName}</when><otherwise>and stu_sex=#{stuSex}</otherwise></choose></where></select>

Mysql动态sql相关推荐

  1. Mysql动态sql之mybatis动态sql

    mysql动态sql想必大家都了解了 举个列子:现在有如下sql语句 select id,name from animals where id = 1 and name ="老虎" ...

  2. mysql动态sql是什么,mysql中动态sql的一次实际应用

    一.前言 本次实际应用中,使用到了如下几个要点: mysql的动态建表; mysql的多表插入; mysql的多表更新; mysql的多表删除; 二.使用场景 2.1 动态建表 要求建立多个表,例如电 ...

  3. mysql 动态sql 解析_MyBatis详解5.动态SQL

    字节跳动飞书内推! 北京.杭州.武汉.广州.深圳.上海,六大城市等你来投. 感兴趣的朋友可以私我咨询&内推,也可以通过链接直接投递! 海量HC,极速响应,快来和我成为同事吧. 今日头条.抖音. ...

  4. mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql

    /* 将其他几张表数据复制到一张总表中 */ DROP PROCEDURE IF EXISTS sp_customer; CREATE PROCEDURE sp_customer() BEGIN -- ...

  5. mysql动态SQL用法

    顾名思义"动态"SQL就是不固定的SQL,根据不同的条件把SQL语句进行拼接,来实现对数据库更加精准的操作.可以通过配置文件或者注解的形式实现,多用于多条件联查. xml版(配置文 ...

  6. MySQL——动态SQL拼接

    一.动态sql拼接 目标 能够使用mybatis的标签实现动态SQL拼接 分析 ​ 我们在前边的学习过程中,使用的SQL语句都非常简单.而在实际业务开发中,我们的SQL语句通常是动态拼接而成的,比如: ...

  7. mysql动态sql拼接_动态SQL(拼接)

    Q1:什么是动态SQL呢? A1:首先是SQL语句,是根据条件来拼接SQL Q2:为什么要用动态SQL? A2:因为在条件WHERE中出现OR会导致不能使用索引,从而使效率差别巨大. 例如:如图1.2 ...

  8. mysql动态sql无效_MySql动态SQL

    13.7. 用于预处理语句的SQL语法 MySQL 5.1对服务器一方的预制语句提供支持.如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优 ...

  9. mysql 动态sql 解析json数据_在SQL 中生成JSON数据

    这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数 ...

最新文章

  1. 前端培训_backbone
  2. 一些宏的应用,包括NSLog
  3. SpringCloud实战与原理---快速入门
  4. 《转》程序员必须知道的10大基础实用算法及其讲解
  5. DISCUZ开启设计插件功能和显示嵌入点功能
  6. jQuery上传插件-uploadify3.1使用说明
  7. golang利用json.Unmarshal转json为map、slice类型
  8. 吴恩达|机器学习作业8.0.异常检测
  9. Enterprise Library 4.0简介及改进
  10. 算法学习(二)快速排序(上)
  11. Android Fragment之间的切换
  12. RTR/SLA 在多ISP环境下下的应用--已经更新,切换后线路恢复时,已能自动恢复
  13. 注意力机制介绍(attention)
  14. 微信开发 MySQL 存储 Emoji 表情
  15. aGlass 2 绘出射线的交点并用红色小球显示
  16. 5.FlashFXP连接失败(连接已拒绝)及530 permission denied(以root用户连接已被客户端关闭)
  17. 【优化求解】基于天牛须算法PID控制器优化设计matlab代码
  18. Java基础进阶Day04
  19. 【统计年鉴下载】夏泽网
  20. 那年杏花微雨,你说你是DOM

热门文章

  1. 为什么次世代游戏建模受欢迎? 建模行业真实现状,早知道少吃亏!
  2. 2017年前端面试题最新汇总
  3. 【设计模式自习室】门面模式 Facade Pattern
  4. 百度地图解决自定义图标显示问题
  5. Android 沉浸式状态栏(简单好用)
  6. 【OpenCV】(三)opencv入门之图像的基本操作——图像阈值分割(ostu算法)
  7. 微信公众号开发(二):利用责任链和模板方法模式设计消息的处理流程
  8. 使用C#中的AutoCAD .NET API对CAD二次开发,获取块的属性
  9. Android:ANR问题是什么和如何避免
  10. Old Bill(上海交通大学复试上机题)