Mysql动态sql
查询学生信息动态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相关推荐
- Mysql动态sql之mybatis动态sql
mysql动态sql想必大家都了解了 举个列子:现在有如下sql语句 select id,name from animals where id = 1 and name ="老虎" ...
- mysql动态sql是什么,mysql中动态sql的一次实际应用
一.前言 本次实际应用中,使用到了如下几个要点: mysql的动态建表; mysql的多表插入; mysql的多表更新; mysql的多表删除; 二.使用场景 2.1 动态建表 要求建立多个表,例如电 ...
- mysql 动态sql 解析_MyBatis详解5.动态SQL
字节跳动飞书内推! 北京.杭州.武汉.广州.深圳.上海,六大城市等你来投. 感兴趣的朋友可以私我咨询&内推,也可以通过链接直接投递! 海量HC,极速响应,快来和我成为同事吧. 今日头条.抖音. ...
- mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql
/* 将其他几张表数据复制到一张总表中 */ DROP PROCEDURE IF EXISTS sp_customer; CREATE PROCEDURE sp_customer() BEGIN -- ...
- mysql动态SQL用法
顾名思义"动态"SQL就是不固定的SQL,根据不同的条件把SQL语句进行拼接,来实现对数据库更加精准的操作.可以通过配置文件或者注解的形式实现,多用于多条件联查. xml版(配置文 ...
- MySQL——动态SQL拼接
一.动态sql拼接 目标 能够使用mybatis的标签实现动态SQL拼接 分析 我们在前边的学习过程中,使用的SQL语句都非常简单.而在实际业务开发中,我们的SQL语句通常是动态拼接而成的,比如: ...
- mysql动态sql拼接_动态SQL(拼接)
Q1:什么是动态SQL呢? A1:首先是SQL语句,是根据条件来拼接SQL Q2:为什么要用动态SQL? A2:因为在条件WHERE中出现OR会导致不能使用索引,从而使效率差别巨大. 例如:如图1.2 ...
- mysql动态sql无效_MySql动态SQL
13.7. 用于预处理语句的SQL语法 MySQL 5.1对服务器一方的预制语句提供支持.如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优 ...
- mysql 动态sql 解析json数据_在SQL 中生成JSON数据
这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数 ...
最新文章
- Python使用matplotlib可视化Treemap图、treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比(Treemap)
- 009_Gson版本支持
- 注释嵌套注释_注释梦Night
- JAVA 内存模型 (Java Memory Model,JMM)
- Yaml锚点和别名*
- async与await详解
- mask rcnn算法分析_注意力模型RPN(faster-rcnn)与APN(RA-CNN)对比精析
- 浅谈商品推荐:如何猜中用户的心思?
- 记一个函数定义中,形参是空列表时要注意的问题
- 8uftp目标计算机拒接,8UFTP连接FTP时空白的解决办法
- 发送网页内容到onenote_将网页中的信息快速添加到OneNote笔记本的方法
- 计算机教案在幻灯片中插入影片,2019小学信息技术教师资格证面试:试讲及答辩真题《在幻灯片中插入音频文件》...
- 星期五五–大数据,Doppio和假Linus Torvalds
- MuMu模拟器进行adb操作
- 将优盘的FAT32格式改为NTFS
- Alist+KODI打造免费家庭影院
- 据说是原CSDN排名第一的博客,我看到内容,确实被震憾了
- [已解决]mysql查询一周内的数据,解决一周的起始日期是从星期日(星期天|周日|周天)开始的问题
- 成功在于实践作文_成功源于行动作文800字
- 网络视频直播系统开发需要用到哪方面的知识?