导航

Mybatis动态sql

Posted on 2017-02-05 17:37  曹大爷  阅读(121)  评论(0)    收藏  举报
<!-- 多条件查询 -->
<select id="users" parameterType="User" resultMap="luser">
SELECT *
FROM user WHERE name like #{name}
<if test="age!=null">
and age > #{age}
</if>
</select>
<!--多条件选中1个 -->

<!--它们类似于Javaswitch选择结构:choose对应switchwhen对应caseotherwise对应default -->

 

<select id="dusers" parameterType="User" resultMap="luser">
SELECT *
FROM user WHERE 1=1
<choose>
<when test="name!=null">
and name like #{name}
</when>
<!-- <when test="age!=null">

and age > #{age}

</when> -->

<otherwise>
and age > 23
</otherwise>
</choose>
</select>
<!-- where标签 -->

<!-- where标签的工作工程如下:如果此where标签包含的子标签中含有返回值,其将插入一个“where;如果where标签返回的内容以AND OR 开头,则将ANDOR清除 -->

 

<select id="wseluser" parameterType="User" resultMap="luser">
SELECT *
FROM user
<where>
<if test="name!=null">
and name like #{name}
</if>
</where>
</select>

  <!-- 修改-->

<update id="updateBlog" parameterType="Blog">

  update blog

  <set>

  <if test="content!=null">

  content=#{content},

  </if>

  <if test="type!=null">

  type=#{type}

  </if>  

 </set>

  <where>

  id=#{id}

  </where>

</update>