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

廊坊网站建设推广服务凤山网站seo

廊坊网站建设推广服务,凤山网站seo,wordpress基于什么,网站开发环境安装程序目录 if标签trim标签where标签set标签foreach标签 动态SQL就是根据不同的条件或需求动态地生成查询语句,比如动态搜索条件、动态表或列名、动态排序等。 if标签 在我们填写一些信息时,有些信息是必填字段,有的则是非必填的,这些…

目录

  • if标签
  • trim标签
  • where标签
  • set标签
  • foreach标签

动态SQL就是根据不同的条件或需求动态地生成查询语句,比如动态搜索条件、动态表或列名、动态排序等。

if标签

在我们填写一些信息时,有些信息是必填字段,有的则是非必填的,这些信息的传入就需要使⽤动态标签 if来判断了

创建这样想学生表就可以进行测试了

drop table if exists stu;
create  table stu(id int primary key auto_increment,name varchar(100) ,sex  varchar(10) ) default charset 'utf8mb4';

下面是xml语句

  <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.example.mybatisdemo.model.User">INSERT INTO stu(name<if test="sex != null">, sex</if>) VALUES (#{name}<if test="sex != null">, #{sex}</if>)</insert>

在这里插入图片描述
在这里插入图片描述
通过结果我们发现,数据已经被插入进入数据库了,并且sex为空。

trim标签

如果所有字段都是⾮必填项,可以考虑使⽤trim标签结合if标签,对多个字段都采取动态⽣成的⽅式。
trim标签中有如下属性:

  • prefix:表示整个语句块,以prefix的值作为前缀
  • suffix:表示整个语句块,以suffix的值作为后缀
  • prefixOverrides:表示整个语句块要去除掉的前缀
  • suffixOverrides:表示整个语句块要去除掉的后缀

通过对前面的xml代码进行修改结果如下:

<insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.example.mybatisdemo.model.User">INSERT INTO stu<trim prefix="(" suffix=")" suffixOverrides=","><if test="name != null ">name,</if><if test="sex != null">sex</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="name != null">#{name},</if><if test="sex != null">#{sex}</if></trim></insert>

在这里插入图片描述
在这里插入图片描述
数据添加成功,依旧只添加了姓名。

where标签

根据属性做 where 条件查询,⽤户对象中属性不为 null 的,都为查询条件。
写一个查询方法:

  @RequestMapping("selectByCondition")public List<User> selectByCondition(User user){return userService.selectByCondition(user);}

xml代码如下:

 </insert><select id="selectByCondition" parameterType="com.example.mybatisdemo.model.User"  >select id,name,sex from stu<where><if test="name != null "> and  name=#{name} </if><if test=" sex != null"> and  sex= #{sex}  </if></where></select>

根据name进行查询
在这里插入图片描述
在这里插入图片描述

<where>标签也可以使⽤ <trim prefix="where" prefixOverrides="and"> 替换。

set标签

根据传⼊的⽤户对象属性来更新⽤户数据,可以使⽤set标签来指定动态内容。
UserMapper 接⼝中修改⽤户⽅法:根据传⼊的⽤户 id 属性,修改其他不为 null 的属性:

int updateById(User user);

在xml中添加更新⽤户 sql:

 <update id="updateById" parameterType="com.example.mybatisdemo.model.User" >update stu<set><if test="name != null">name=#{name},</if><if test="sex != null">sex=#{sex},</if></set>where id=#{id}</update>

在这里插入图片描述
查看数据库发现修改成功
在这里插入图片描述

<set>标签也可以使⽤ <trim prefix="set" suffixOverrides=","> 替换

foreach标签

对集合进⾏遍历时可以使⽤该标签。foreach标签有如下属性:

  • collection:绑定⽅法参数中的集合,如 List,Set,Map或数组对象
  • item:遍历时的每⼀个对象
  • open:语句块开头的字符串
  • close:语句块结束的字符串
  • separator:用于指定循环迭代时元素之间的分隔符

例如一次性删除多个id对应的用户

ArticleMapper 中新增接⼝⽅法:

int deleteByIds(List<Integer> ids);

UserMapper.xml 中新增删除 sql:

  <delete id="deleteByIds">delete from stuwhere id in<foreach collection="list" item="item" open="(" close=")" separator=",">#{item}</foreach></delete>

我们删除id为1,2,3的用户信息
在这里插入图片描述
在这里插入图片描述
通过查看数据库我们知道,删除已经成功。

以上就是我记录的一些动态SQL,如果想了解更多可前往mybatis官网查看 。

http://www.hkea.cn/news/735490/

相关文章:

  • 辛集seo网站优化价格许昌网站seo
  • 网站建设后期维护百度快速收录技术
  • 网站建设中的推广工作seo学校培训
  • 上海专业网站建设网百度搜索推广开户
  • 做学校网站素材图片合肥seo代理商
  • 真题真做报名网站淘宝搜索关键词排名
  • 免费的黄冈网站有哪些平台?培训行业seo整站优化
  • 寿县住房与城乡建设局网站真正免费的网站建站平台
  • 常德seo招聘网站seo站长工具
  • 网站开发多久完成俄罗斯搜索引擎yandex推广入口
  • 漳州做网站建设建网站免费
  • 网站建设服务上海广州软文推广公司
  • 做一个网站app需要多少钱web制作网站的模板
  • 网站建设的财务计划新媒体营销策略有哪些
  • 网站建设分金手指专业二八宁波品牌网站推广优化
  • 清远网站建设公司百度游戏风云榜
  • 网上可以自学什么技术win7系统优化软件
  • 嘉兴建站软件如何做好企业网站的推广
  • 在凡科做网站短视频推广
  • 深圳推广公司推荐q群排名优化软件
  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包