1.通过Oracle序列

  1. -- Create sequence
  2. create sequence SEQ_DW_EWSYSTEM
  3. minvalue 1
  4. maxvalue 999999999999999999999999999
  5. start with 1
  6. increment by 1
  7. cache 20;
  1. <insert id="insertEwsystem" parameterType="Ewsystem">
  2. <selectKey keyProperty="id" resultType="long" order="BEFORE">
  3. SELECT SEQ_EWSYSTEM.NEXTVAL FROM DUAL <!-- SELECT DECODE(MAX(ID),NULL,0,MAX(ID))+1 FROM EWSYSTEM -->
  4. </selectKey>
  5. INSERT INTO EWSYSTEM (ID,ORG_ID,NAME)VALUES(#{id},#{orgId,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR})
  6. </insert>

2.通过Oracle触发器

  1. create or replace trigger TRG_DW_EWSYSTEM
  2. before insert
  3. on DW_EWSYSTEM  for each row
  4. begin
  5. select SEQ_DW_EWSYSTEM.nextval into :new.id from dual;
  6. end;
    1. <insert id="insertEwsystem" parameterType="Ewsystem">
    2. <selectKey resultType="int" keyProperty="id" order="AFTER">
    3. SELECT SEQ_DW_EWSYSTEM.CURRVAL FROM DUAL
    4. </selectKey>
    5. INSERT INTO EWSYSTEM (ID,ORG_ID,NAME)VALUES(#{id},#{orgId,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR})
    6. </insert>

Mybatis 插入操作时获取主键 (Oracle 触发器与SEQ)的更多相关文章

  1. MyBatis 插入记录同时获取主键

    MyBatis 插入记录同时获取主键 MyBatis 插入记录同时获取主键的系统界面 useGeneratedKeys 属性 keyProperty 属性 keyColumn 属性 selectKey ...

  2. MyBatis插入记录时返回主键id的方法

    有时候插入记录之后需要使用到插入记录的主键,通常是再查询一次来获取主键,但是MyBatis插入记录时可以设置成返回主键id,简化操作,方法大致有两种. 对应实体类: public class User ...

  3. mybatis插入数据并获取主键值

    有时候我们的主键是自增的,但是我们想要在插入一条数据以后获取这条数据的主键值,而我们知道,mybatis执行完插入操作以后返回的是生效的记录数.那如何才能获取这个主键值呢. 1.在配置文件mapper ...

  4. MyBatis在insert插入操作时返回主键ID的配置

    在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过Mapper.XML配置的方式来完成这个功能. 在 INSER ...

  5. mybatis 插入数据时返回主键

    在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:显然,假如主键是你生成后插入的,自然你已经有主键了,显然不需要我们再去获得,所以我们这里处理的是当主键 ...

  6. mybatis插入的同时获取主键id

    <insert id="insertAndReturnId" parameterType="com.qianlong.cms.entity.AppCmsRole&q ...

  7. mybatis插入数据并返回主键(oracle)

    通常我们执行一个inser语句,即使有返回,也只是会返回影响了多少条数据 @insert("insert into t_user (id,name) values (suser.nextva ...

  8. mysql数据库使用mybatis 插入数据时返回主键

    为了体现题目,特指的是mysql,先贴上代码: <insert id="saveBizProdOrderDetail" useGeneratedKeys="true ...

  9. mybatis添加记录时返回主键id

    参考:mybatis添加记录时返回主键id 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作.在使用mybatis作为ORM组件时,可以很方便地达到这个 ...

随机推荐

  1. 2、第2节课html教程客户端控件/css第一课/20150917

    1.<form> 标签 提交 <form action="http://www.baidu.com" method="post'> </fo ...

  2. VS2013服务器资源管理器添加Mysql数据源

    如何为VS2013服务器资源管理器添加Mysql数据源,如图: 接下来就看下如何添加 1.需要下载安装Mysql for Visual Studio 1.1.1 下载位置:http://downloa ...

  3. C# 还原SQL数据库(非存储过程方式)

    Winform的代码,最好是在数据所在电脑上运行代码,不然会因为权限问题导致失败. 数据库备份: SqlConnection con = new SqlConnection("Data So ...

  4. 浅述Oracle分布式事务概念

    着系统的复杂性不断增加,我们所面对的分布式系统渐渐增加.分布式文件系统.分布式消息队列系统等等层出不穷,在一些行业特别是互联网行业应用广泛.分布式数据库也是目前使用比较常用的分布式系统之一. 简单来说 ...

  5. 忘记了SqlServer的SA密码怎么办

    转自 http://v-consult.be/2011/05/26/recover-sa-password-microsoft-sql-server-2008-r2/ 如果忘记了sa密码,并且wind ...

  6. dijkstra堆优化模板

    #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #in ...

  7. R0:前瞻

    原文链接http://www.wangafu.net/~nickm/libevent-book/Ref0_meta.html Libevent使用手册:前瞻 总览: Libevent是一个用来写高性能 ...

  8. PHP页面中文乱码问题

    首先纯html页要用meta标签声明编码<meta http-equiv="Content-Type" content="text/html; charset=&q ...

  9. 使用APMServ本地搭建多个网站

    October 27, 2014 使用APMServ本地搭建多个网站教程 把我写好的代码直接粘贴到 httpd.conf 文件的末尾.然后保存就可以了.代码如下: <VirtualHost *: ...

  10. android DatePickerDialog配合edittext实现按日期查询

    我们从网上一搜DatePickerDialog相关实现,大多都是默认的形式,也就是不带取消按钮.下边上我的代码:我将代码简单的封装到一个工具类里边 public static DatePickerDi ...