文档章节

Mybatis的 oracle的批量操作

hellogoupeng
 hellogoupeng
发布于 2016/04/14 10:05
字数 263
阅读 31
收藏 0

最近项目中使用了Mybatis框架,数据库使用的oracle,记录下当中的要点。

     1.当插入数据后需要返回改实体的id,要在xml中加入< keyProperty="id" useGeneratedKeys="true">就可以返回改实体的id了。

     2.oracle在xml中自动生成32位的id,<selectKey keyColumn="ID" keyProperty="id" order="BEFORE"
         resultType="String">

                       select sys_guid() from dual

       </selectKey>

     3.批量添加实体,

       <insert id="addOrderItem" parameterType="List">
            <selectKey keyProperty="id" keyColumn="ID" order="BEFORE"
               resultType="String">
                    select sys_guid() from dual
             </selectKey>
        insert into W_ORDERITEM (ID,NUM,PRICE,ALLPRICE,BUYTIME,ODID,GDID,NAME)
        select sys_guid(), a.* from
        <foreach collection="list" index="index" item="item" open="("
            close=")" separator="union">
            select
            #{item.num,jdbcType=INTEGER},
            #{item.price,jdbcType=DOUBLE},
            #{item.allprice,jdbcType=DOUBLE},
            #{item.buytime,jdbcType=TIMESTAMP},
            #{item.odid,jdbcType=VARCHAR},
            #{item.gdid,jdbcType=VARCHAR},
            #{item.name,jdbcType=VARCHAR}
            from dual
        </foreach>
        a
    </insert>

       4.    <!-- 批量删除订单 -->
    <delete id="deleteOrders" parameterType="List">
        delete from W_ORDERS where ID in
        <foreach collection="list" index="index" item="item" open="("
            close=")" separator=",">
            #{item}
        </foreach>
    </delete>

        5.    <!-- 修改订单状态 -->
    <update id="UpdateOrders" parameterType="List">
        <foreach collection="list" index="index" item="item" open="begin"
            close=";end;" separator=";">
            update W_ORDERS
            set STATE=#{item.state,jdbcType=VARCHAR},
            SENDNAME=#{item.sendname,jdbcType=VARCHAR}
            <if test="item.recevetime!=null">
                , RECEVETIME=#{item.recevetime,jdbcType=TIMESTAMP}
            </if>
            where ID=#{item.id,jdbcType=VARCHAR}
        </foreach>
    </update>


© 著作权归作者所有

hellogoupeng
粉丝 1
博文 1
码字总数 263
作品 0
昌平
私信 提问
Mybatis-Plus 1.2.11 发布,MyBatis 增强工具包

Mybatis-Plus 1.2.11 发布了,Mybatis-Plus是一款MyBatis的增强工具包,简化 CRUD 操作。启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入非...

青苗
2016/04/18
2.1K
7
Oracle + Mybatis实现批量插入、更新和删除示例代码

前言 Mybatis是web工程开发中非常常用的数据持久化的框架,通过该框架,我们非常容易的进行数据库的增删改查。数据库连接进行事务提交的时候,需要耗费的资源比较多,如果需要插入更新的数据...

一看就喷亏的小猿
2018/11/22
0
0
MyBatis学习 之 七、mybatis各种数据库的批量修改

                                MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了。本篇仅记录批量update操作的sql语句,懂得SQL语句...

无信不立
2016/03/21
0
0
史上最简单的 MyBatis 教程(四)

1 前言 在史上最简单的 MyBatis 教程(一、二、三)中,咱们已经初步体验了 MyBatis 框架的特性,尤其是其支持普通的 SQL 语句,但如果仔细阅读前三篇博文的示例,大家会发现一个问题,那就是...

qq_35246620
2017/02/03
0
0
EasyMybatis 1.2.0 发布,支持枚举类型字段

EasyMybatis 1.2.0 已发布,此次更新的内容有: 启用驼峰下划线转换。javaBean中的字段是驼峰形式,映射到数据库字段会转换成下划线形式。 doc 支持枚举类型字段。javaBean中可以定义枚举类型...

tanghc
2017/09/12
792
3

没有更多内容

加载失败,请刷新页面

加载更多

Win10设置DNS的方法

右键点击左下角的Windows微标,然后在弹出菜单中选择“属性”菜单项。 在打开的控制面板窗口,选择“网络和Internet项”图标。 在打开的窗口中点击“查看网络状态和任务”快捷链接。 点击“更...

寰宇01
12分钟前
0
0
ngrok 外网映射工具

ngrok介绍 许多刚学java web的同学(包括我自己)肯定都非常好奇,如何在外网上访问自己做的项目,跟我们本地访问tomcat有什么区别? 今天就向大家介绍一个非常强大的外网映射工具:ngrok.ngrok可以...

edison_kwok
57分钟前
2
0
Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
今天
4
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
今天
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部