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

盐山县网站建设公司网站建设书本

盐山县网站建设公司,网站建设书本,怎么把视频弄成超链接,公司简介模板免费doc目录 一、<if>标签 二、<trim>标签 三、<where>标签 四、<set>标签 五、<foreach>标签 一、<if>标签 当我们在某个平台提交某些信息时&#xff0c;可能都会遇到这样的问题&#xff0c;有些信息是必填信息&#xff0c;有些信息是非必…

目录

一、<if>标签

二、<trim>标签

三、<where>标签

四、<set>标签

五、<foreach>标签


一、<if>标签

当我们在某个平台提交某些信息时,可能都会遇到这样的问题,有些信息是必填信息,有些信息是非必填信息,例如,使用CSDN发布博客时:

那么程序猿在不确定某个字段是否会被用户传入时,该如何拼接SQL呢?这就需要使用<if>标签来判断某个字段是否被用户输入

代码示例:

    <insert id="insertUser">insert into userinfo(username, password<if test="photo != null">,photo</if>) values(#{username}, #{password}<if test="photo != null">,#{photo}</if>)</insert>

单元测试代码:

    @Testvoid insertUser() {UserInfo userInfo = new UserInfo();userInfo.setUsername("apple");userInfo.setPassword("123");userInfo.setPhoto(null);int ret = userMapper.insertUser(userInfo);System.out.println(ret);}

代码执行结果:

可以看到,photo为空时,最终构造的SQL语句并没有拼接photo字段。 

注意: 

(1) <if>标签必须包含test属性,如果test属性中的内容为true,则执行<if>标签语句中的内容;如果为false,则不执行,此时数据库中该字段的值为默认值。

(2) <if>标签中判断的字段必须是可以为null的字段,如果判断的字段不允许为null,程序会在执行期间报错。


二、<trim>标签

如果所有字段都是非必填信息,那么就需要使用<trim>标签结合<if>标签,对多个字段都采取动态生成的方式。

代码示例:

    <insert id="insertUser2">insert into userinfo<trim prefix="(" suffix=")" suffixOverrides=","><if test="username!=null">username,</if><if test="password!=null">password,</if><if test="photo!=null">photo,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="username!=null">#{username},</if><if test="password!=null">#{password},</if><if test="photo!=null">#{photo},</if></trim></insert>

<trim>标签中的4个属性所表示的含义:

prefix:表示整个语句块以prefix的值作为前缀;

suffix:表示整个语句块以suffix的值作为后缀;

prefixOverrides:表示整个语句块要去掉的前缀;

suffixOverrides:表示整个语句块要去掉的后缀。

三、<where>标签

<where>标签需要配合<if>标签来使用,用来接收动态参数进行查询数据库操作。

代码示例:

    <select id="selectUsers" resultType="com.example.demo.model.UserInfo">select * from userinfo<where><if test="username != null">username=#{username}</if><if test="password != null">and password=#{password}</if></where></select>

注意:

(1) <where>标签会删除语句块的前缀内容(and);

(2) <where>标签中的字段如果都为null,那么就不会生成where关键字。

上述示例代码也可以使用<trim prefix="where" prefixOverrides="and">替换。 

四、<set>标签

<set>标签可以配合<if>标签,根据用户传入的参数来修改数据,用法和<where>标签类似。

代码示例:

    <update id="updateUser">update userinfo<set><if test="username != null">username=#{username},</if><if test="password != null">password=#{password},</if><if test="photo != null">photo=#{photo},</if></set>where id=#{id};</update>

注意:

(1) <set>标签会删除语句块的后缀内容(,);

(2) <set>标签中的字段如果都为null,那么就不会生成set关键字。

上述示例代码也可以使用<trim prefix="set" suffixOverrides=",">替换。

五、<foreach>标签

<foreach>标签用于对集合进行遍历,例如根据多个文章id删除文章。

代码示例:

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

<foreach>标签中的5个必要属性:

collection:集合的名称(对应方法中的集合的参数名);

item:遍历集合时,集合中每个对象的名字;

separator:每次遍历之间以什么字符串间隔;

open:语句块的前缀内容;

close:语句块的后缀内容。

用一段伪代码来解释上述5个属性:

http://www.yayakq.cn/news/259553/

相关文章:

  • 怎么提高网站访问量网站开发工作方向
  • 交互动效库 网站昌邑网站建设
  • 做网站什么语言最好网站怎么做图片动态图片大全
  • 网站建设与优化网络营销与策划
  • 石家庄网站开发工程师招聘网网络营销最好的方法
  • 自己做网站难么怎样在手机上创建网站
  • 天津网站建设seo优化建立网站大约多少钱
  • 河南快速网站备案网站查询访问
  • 网站设计中新闻版块怎么做wordpress 文字颜色 插件
  • 做网站原型图微信公众号转入公司网站建设
  • 网站申请支付宝接口北京网站优化推广效果
  • 南京高端品牌网站建设OA 公司网站 铁道建设报
  • 可以做雷达图的网站wordpress淘宝客类网站建设
  • 新网站 百度推广软文公司代写
  • 大学哪个专业可以做网站深圳做自适应网站设计
  • 如皋网站制作wordpress固定链接 自动翻译
  • 襄阳网站建设企业中国建设银行官网站账户商品
  • 北京双井网站建设网站设计的建设目的
  • 网站关键字分析成都php网站开发
  • 石景山网站开发阿坝州建设局网站刘志彬
  • 展示照片的网站做网站带源码软件
  • 网站分享链接怎么做wordpress支持哪些数据库
  • 门类细分网站北京seo专业团队
  • 电子商务网站模板页面wordpress管理员密码被改
  • 西双版纳网站图片优化大小
  • 网站名字大全有哪些免费企业网站认证
  • 网站模板安装好后泡泡资源网
  • 网站主机注册查营业执照用什么软件
  • 做同城网站如何获得企业邮箱
  • 宿迁网站建设价位做网站管理系统