Mybatis实战应用

Mybatis实战应用总结

参数:对象List
功能:批量更新

  <update id="updateAttribute" parameterType="java.util.List">
    update objectattribute set
   	dataType =
    <foreach collection="list" item="item" index="index" separator=" " open="case data_objectUID" close="end">
      when #{item.data_objectUID} then #{item.dataType}
    </foreach>
    ,isNotNull =
    <foreach collection="list" item="item" index="index" separator=" " open="case data_objectUID" close="end">
      when #{item.data_objectUID} then #{item.isNotNull}
    </foreach>
    ,isFilter =
    <foreach collection="list" item="item" index="index" separator=" " open="case data_objectUID" close="end">
      when #{item.data_objectUID} then #{item.isFilter}
    </foreach>
    ,isHidden =
    <foreach collection="list" item="item" index="index" separator=" " open="case data_objectUID" close="end">
      when #{item.data_objectUID} then #{item.isHidden}
    </foreach>
    ,displayType =
    <foreach collection="list" item="item" index="index" separator=" " open="case data_objectUID" close="end">
      when #{item.data_objectUID} then #{item.displayType}
    </foreach>
    ,displayLogic =
    <foreach collection="list" item="item" index="index" separator=" " open="case data_objectUID" close="end">
      when #{item.data_objectUID} then #{item.displayLogic}
    </foreach>
    where data_objectUID in
    <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
      #{item.data_objectUID}
    </foreach>
  </update>

参数:List< String >
功能:批量删除

<delete id="deleteAttributes" parameterType="java.util.List">
      delete from ObjectAttribute where object_attributeUID in
      <foreach item="item" collection="list" open="(" separator="," close=")">
        #{item}
      </foreach>
</delete>

参数:对象
功能:条件模糊查询

<select id="findByCondition" parameterType="cn.neu.domain.ObjectAttribute"  resultType="cn.neu.domain.ObjectAttribute">
      select * from ObjectAttribute
      <where>
        <if test="object_attributeUID!=null">
          and object_attributeUID like "%"#{object_attributeUID}"%"
        </if>
        <if test="displayType!=null">
          and displayType like "%"#{displayType}"%"
        </if>
        <if test="displayLogic!=null">
          and displayLogic like "%"#{displayLogic}"%"
        </if>
        <if test="data_objectUID!=null">
          and data_objectUID like "%"#{data_objectUID}"%"
        </if>
      </where>
    </select>

参数:对象List
功能:批量插入

<insert id="insertAttribute" parameterType="java.util.List">
    insert into objectattribute (object_attributeUID, 

attributeName,attributeID,dataType,dataLength,isNotNull,isFilter,isHidden,displa

yType,displayLogic,data_objectUID)
    values
    <foreach collection="list" item="item" index="index" separator=",">
      (#{item.object_attributeUID},#{item.attributeName},#{item.attributeID},#

{item.dataType},#{item.dataLength},#{item.isNotNull},#{item.isFilter},#

{item.isHidden},#{item.displayType},#{item.displayLogic},#{item.data_objectUID})
    </foreach>
  </insert>

参数:无
功能:主子表关联查询

a表为主表,b表为子表
a对象中有个属性为 “b对象的List”

a{

List< b > bList;
}
b{

}

<select id="findAll" resultMap="findAll" resultType="cn.neu.domain.DataObject">
    SELECT a表的字段,b表的字段
    FROM
    a left join b on xxx = 
    limit #{before},#{pageSize}
  </select>
  <resultMap type="cn.neu.domain.DataObject" id="findAll">
    <result property="data_objectUID" column="data_objectUID"/>
    <result property="objectID" column="objectID"/>
    ......
    <result property="application_infoUID" column="application_infoUID"/>
    <collection property="attrviteList" ofType="cn.neu.domain.ObjectAttribute">
      ......
      <result column="displayLogic" property="displayLogic" />
      <result column="data_objectUID" property="data_objectUID" />
    </collection>
  </resultMap>

参数:键值对
功能:模糊查找数据库中的key值为value的行

${xxxx} = #{xxxx}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值