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