insert into users(username,password) values(#{username},#{password)2、update标签作用:更新数据示例:
当前位置:   article > 正文

MyBatis 标签使用(insert、update、delete、select、foreach、if、where、choose/when/otherwise、sql/include)_update where if

update where if

1 CRUD标签

1.1 insert标签

作用:插入数据

示例:

  1. <insert id="insert" parameterType="User">
  2. insert into users(username,password)
  3. values(#{username},#{password)
  4. </insert>

1.2 update标签

作用:更新数据

示例:

  1. <update id="update" parameterType="User">
  2. update users
  3. set password=${password}
  4. where username=#{username}
  5. </update>

1.3 select标签

作用:获取数据

示例:

  1. <select id="getUserById" parameterType="String" resultType="User">
  2. select *
  3. from users
  4. where username=#{username}
  5. </select>

注:多个不同类型的参数最好使用parameterType="map"

1.4 delete标签

作用:删除指定数据。

示例:

  1. <delete id="delete">
  2. delete from users
  3. where username = #{username}
  4. </delete>

2 动态SQL标签

2.1 if标签

作用:用于判断传入的参数

示例:

  1. <select id="getUserExtList" resultType="UserExt">
  2. select T1.username,T1.password
  3. from users T1
  4. where 1=1
  5. <if test="username!=null and username!=''">
  6. and T1.username like concat('%',#{username},'%')
  7. </if>
  8. </select>

2.2 where标签

作用:where 标签知道只有在一个以上的if条件有值的情况下才去插入“WHERE”子句。而且,若最后的内容是“AND”或“OR”开头的,where 元素也知道如何将它们去除。

示例:

  1. <select id="getUserList" resultType="com.entity.User">
  2. select username,password
  3. from users
  4. <where>
  5. <if test="username != null and username != ''">
  6. username = #{username}
  7. </if>
  8. <if test="password != null and password != ''">
  9. password = #{password}
  10. </if>
  11. </where>
  12. </select>

2.3 foreach标签

作用:循环List参数,得到List中的每一项

示例:

  1. <select id="getUserExtList" resultType="UserExt">
  2. select T1.username,T1.password
  3. from users T1
  4. where 1=1
  5. <foreach collection="keyList" item="item" open=" and (" close=")" index="index" separator=" or ">
  6. T1.username like concat('%',#{item},'%')
  7. </foreach>
  8. </select>

注:更详细的foreach标签使用请查看下面这条博客

Mybatis foreach(循环)标签使用

2.4 choose/when/otherwise

作用:类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。

示例:

  1. <select id="getUserList" resultType="com.entity.User">
  2. select username,password
  3. from users
  4. where 1=1
  5. <choose>
  6. <when test="username != null and username != ''">
  7. and username = #{username}
  8. </when>
  9. <otherwise>
  10. and (t1.username = '' or t1.username is null)
  11. </otherwise>
  12. </choose>
  13. </select>

2.5 sql/include

作用:重复引用sql片段。

示例:

具体使用步骤请查看以下博客。

MyBatis sql(sql片段)标签使用(定义SQL、引用SQL)icon-default.png?t=L892https://blog.csdn.net/qq_38974638/article/details/119961002

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/749147
推荐阅读
相关标签