关闭

MyBatis 手册动态,存储过程、增、删、改语句

标签: mybatisxml动态语句
123人阅读 评论(0) 收藏 举报
分类:
利用数据库内部对象来查取,表相关列、属性 实现动态组装sql语句。
<!-- 动态存储过程 -->
<insert id="exeDynamicProcedure" statementType="CALLABLE" parameterType="java.util.Map">
         <![CDATA[ {call ]]><if test="owner!=null">${owner}.</if>
         <![CDATA[${objName}(]]>
         <foreach collection="tags" item="tag" index="ind" separator=",">
          <choose>
           <when test=" tag.peModel==1 ">#{tag.col_values,mode=IN,jdbcType=${tag.peTypeStr}}</when>
           <when test=" tag.peModel==0" >#{${tag.pe_col_name_lower},mode=OUT,jdbcType=${tag.peTypeStr}}</when>
          </choose>
         </foreach>
        <![CDATA[ )}]]>
  </insert>
 
<!-- 动态更新 -->
     <update id="exeDynamicUpdate" parameterType="java.util.Map" >
      update <if test="owner!=null">${owner}.</if>${objName}
   <set>
         <foreach collection="tags" item="tag" index="ind" separator=",">
          ${tag.pe_col_name}=#{tag.col_values,jdbcType=${tag.peTypeStr}}
         </foreach>
         </set>
         <where>
          <foreach collection="wheres" item="tag" index="ind" separator="and">
          ${tag.pe_col_name}=#{tag.col_values,jdbcType=${tag.peTypeStr}}
         </foreach>
         </where>
     </update>
    
<!-- 动态删除 -->
     <delete id="exeDynamicDelete" parameterType="java.util.Map" >
      delete <if test="owner!=null">${owner}.</if>${objName}
         <where>
          <foreach collection="wheres" item="tag" index="ind" separator="and">
          ${tag.pe_col_name}=#{tag.col_values,jdbcType=${tag.peTypeStr}}
         </foreach>
         </where>
     </delete>
     
     
<!-- 动态新增 -->
     <insert id="exeDynamicInsert" parameterType="java.util.Map" >
      insert into <if test="owner!=null">${owner}.</if>${objName}(
       <foreach collection="tags" item="tag" index="ind" separator=",">
        ${tag.pe_col_name}
         </foreach>
      )values(
       <foreach collection="tags" item="tag" index="ind" separator=",">
        #{tag.col_values,jdbcType=${tag.peTypeStr}}
         </foreach>
      )
     </insert>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50764次
    • 积分:1105
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    文章分类