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

原创 2017年01月03日 17:15:53
利用数据库内部对象来查取,表相关列、属性 实现动态组装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>

MyBatis执行动态sql及存储过程

MyBatis调用动态SQL和存储过程
  • liangwenmail
  • liangwenmail
  • 2015年08月20日 21:49
  • 2543

MyBatis动态SQL之增、删、改、查操作

MyBatis动态SQL之增、删、改、查操作MyBatis动态SQL之增删改查操作 概述 MyBatis动态SQL支持 动态SQL之查询 动态SQL之插入 动态SQL之删除 动态SQL之更新 概述在实...
  • jpzhu16
  • jpzhu16
  • 2016年10月13日 22:23
  • 8913

Intellij Mybatis连接Mysql数据库,并且实现动态sql,增删改查等

因为昨天看视频学习来着,然后偷了一下懒只更新了一下junit(工欲善其事必先利其器),今天这个估计有点多,文章有点长 先看一下现在的目录结构,因为现在学的是对mysql的操作,抽象一下就是对持久化对...
  • qq_23195583
  • qq_23195583
  • 2016年10月13日 22:06
  • 2122

存储过程中怎么动态执行sql语句

  • 2011年12月22日 22:19
  • 1KB
  • 下载

存储过程中执行动态Sql语句

MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就...
  • CsethCRM
  • CsethCRM
  • 2014年03月04日 18:21
  • 2833

存储过程中执行动态Sql语句

SQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利...
  • willdehao
  • willdehao
  • 2012年08月02日 09:02
  • 458

关于JAVA调用ORACLE存储过程时,传入动态参数作为in语句条件的问题

关于JAVA调用ORACLE存储过程时,传入动态参数作为in语句条件的问题   需求:需要将多个参数作为一个参数传给存储过程执行,如:参数'1000','2000','3000','...
  • she_smiled
  • she_smiled
  • 2017年12月26日 09:04
  • 27

oracle用存储过程 进行行转列(执行动态SQL语句)

---------------------------------------------------------------建表 ----------------判断student表是否存在 ...
  • weixin_39209728
  • weixin_39209728
  • 2017年12月15日 14:57
  • 81

存储过程中执行动态Sql语句

存储过程中执行动态Sql语句   MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接...
  • itkeyuan
  • itkeyuan
  • 2016年05月03日 00:15
  • 628

sql server、db2、oracle 存储过程动态sql语句示例

sql server、db2、oracle 存储过程动态sql语句示例
  • sbfivwsll
  • sbfivwsll
  • 2015年02月02日 20:04
  • 1336
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MyBatis 手册动态,存储过程、增、删、改语句
举报原因:
原因补充:

(最多只允许输入30个字)