美文网首页
关于mybatis xml sql语句

关于mybatis xml sql语句

作者: 小河土 | 来源:发表于2018-08-20 10:57 被阅读0次

    choose, when, otherwise
    这个其实就相当于java 中的 switch语句
    otherwise 就是没有匹配到,默认的值

    <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <choose> <when test="title != null"> AND title like #{title} </when> <when test="author != null and author.name != null"> AND author_name like #{author.name} </when> <otherwise> AND featured = 1 </otherwise> </choose> </select>

    trim, where, set 标签
    trim 标签 里面又四个属性

    1、trim 有四个属性
    2、prefix,suffix 表示在trim标签包裹的部分的前面或者后面添加内容(注意:是没有prefixOverrides,suffixOverrides的情况下)
    3、如果有prefixOverrides,suffixOverrides 表示覆盖Overrides中的内容。
    4、如果只有prefixOverrides,suffixOverrides 表示删除。

    这里 其实 就是 在xml sql 语句中添加一些前缀 后缀
    举个例子
    <updateid="testTrim"parameterType="com.mybatis.pojo.User"> update user <trim prefix="set" suffixOverrides=","> <if test="cash!=null and cash!=''"> cash= #{cash}, </if> <if test="address!=null and address!=''"> address= #{address}, </if> </trim> <where>id = #{id}</where> </update>

    foreach标签
    <select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </select>

    bing 标签 这个标签的作用应该就是 在一些变量拼接一些 值

    比如像下面:
    <select id="selectFlowForUpdate" resultMap="BaseResultMap" parameterType="java.lang.String"> <bind name="ENTR_ID" value="'%' + _parameter" /> select * from TC_ENTR_FLOW where ENTR_ID like #{ENTR_ID} </select>

    这里注意下 这里,参数名称必须是_parameter,否则会提示异常。

    相关文章

      网友评论

          本文标题:关于mybatis xml sql语句

          本文链接:https://www.haomeiwen.com/subject/mtukiftx.html