myBatis插入oracle获取主键

<insert id="insert" parameterType="com.inspur.biz.entry.SpLackApply">
      <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="billId">
       SELECT ‘QLSQ‘||SP_LACK_APPLY_SEQ.NEXTVAL as BILL_ID from DUAL
   </selectKey>
    insert into SP_LACK_APPLY (BILL_ID, ORGAN_ID, ORGAN_NAME,
      APPLY_TYPE_VALUE, APPLY_TYPE_NAME, APPLY_PN,
      APPLY_ITEM_NAME, APPLY_ITME_TYPE_VALUE, APPLY_ITEM_TYPE_NAME,
      QTY, EMERGENCY_DEGREE_VALUE, EMERGENCY_DEGREE_NAME,
      QUALITY_VALUE, QUALITY_NAME, INDUSTRY_VALUE,
      INDUSTRY_NAME, APPLY_NOTE, APPLY_USER_ID,
      APPLY_USER_NAME, APPLY_DATE, HANDLE_USER_ID,
      HANDLE_USER_NAME, HANDLE_DATE, HANDLE_NOTE,
      HANDLE_LATE_NOTE, HANDLE_LATE_WARN_QTY, INWHSE_DATE,
      INWHSE_LATE_NOTE, INWHSE_LATE_WARN_QTY, FLOW_STATE,
      WARN_STATE, HANDLE_USE_TIME, INWHSE_USE_TIME,
      DEPOSIT_BILL_ID, HANDLE_TYPE_VALUE, HANDLE_TYPE_NAME,
      HANDLE_PN, HANDLE_ITEM_NAME, HANDLE_ITME_TYPE_VALUE,
      HANDLE_ITEM_TYPE_NAME,SERVICE_ID)
    values (#{billId,jdbcType=VARCHAR}, #{organId,jdbcType=VARCHAR}, #{organName,jdbcType=VARCHAR},
      #{applyTypeValue,jdbcType=VARCHAR}, #{applyTypeName,jdbcType=VARCHAR}, #{applyPn,jdbcType=VARCHAR},
      #{applyItemName,jdbcType=VARCHAR}, #{applyItmeTypeValue,jdbcType=VARCHAR}, #{applyItemTypeName,jdbcType=VARCHAR},
      #{qty,jdbcType=DECIMAL}, #{emergencyDegreeValue,jdbcType=VARCHAR}, #{emergencyDegreeName,jdbcType=VARCHAR},
      #{qualityValue,jdbcType=VARCHAR}, #{qualityName,jdbcType=VARCHAR}, #{industryValue,jdbcType=VARCHAR},
      #{industryName,jdbcType=VARCHAR}, #{applyNote,jdbcType=VARCHAR}, #{applyUserId,jdbcType=VARCHAR},
      #{applyUserName,jdbcType=VARCHAR}, #{applyDate,jdbcType=TIMESTAMP}, #{handleUserId,jdbcType=VARCHAR},
      #{handleUserName,jdbcType=VARCHAR}, #{handleDate,jdbcType=TIMESTAMP}, #{handleNote,jdbcType=VARCHAR},
      #{handleLateNote,jdbcType=VARCHAR}, #{handleLateWarnQty,jdbcType=DECIMAL}, #{inwhseDate,jdbcType=TIMESTAMP},
      #{inwhseLateNote,jdbcType=VARCHAR}, #{inwhseLateWarnQty,jdbcType=DECIMAL}, #{flowState,jdbcType=VARCHAR},
      #{warnState,jdbcType=VARCHAR}, #{handleUseTime,jdbcType=DECIMAL}, #{inwhseUseTime,jdbcType=DECIMAL},
      #{depositBillId,jdbcType=VARCHAR}, #{handleTypeValue,jdbcType=VARCHAR}, #{handleTypeName,jdbcType=VARCHAR},
      #{handlePn,jdbcType=VARCHAR}, #{handleItemName,jdbcType=VARCHAR}, #{handleItmeTypeValue,jdbcType=VARCHAR},
      #{handleItemTypeName,jdbcType=VARCHAR},#{serviceId,jdbcType=VARCHAR})
  </insert>
时间: 2024-10-07 15:35:53

myBatis插入oracle获取主键的相关文章

MyBatis框架——mybatis插入数据返回主键(mysql、oracle)

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键. 比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */ public int insertUser(User user) thro

关于mybatis插入数据库返回主键id

关于Sequence主键的数据库来说,如: <insert id="add" parameterType="vo.Category"> <selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id"> SELECT SEQ_TEST.NEXTVAL FROM DUAL </selectKey>

使用mybatis插入自增主键ID的数据后返回自增的ID

在开发中碰到用户注册的功能需要用到用户ID,但是用户ID是数据库自增生成的,这种情况上网查询后使用下面的方式配置mybatis的insert语句可以解决: 1 <insert id="insert" keyProperty="id" useGeneratedKeys="true"? parameterType="com.demo.domain.User">? 2 insert into User_t(name,ag

mybatis配置oracle的主键自增长

引用自:https://hacpai.com/article/1405392025960 mysql.sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用 useGeneratedKeys=”true”来实现,比如下面的配置 <insert id=”add” useGeneratedKeys=”true” keyProperty=”id” parameterType=”Auth”> insert into s_user_auth (id,user_id,

Mybatis插入数据返回主键ID

<insert id="add" parameterType="com.dsa.core.base.model.ProductSync">        insert into tm_sync_product(            <if test="productId!=null">product_id,</if>            <if test="mainLimit!=null&q

Mybatis 插入insert操作时获取主键

转载于 http://blog.csdn.net/lklinkang/article/details/6185927 插入操作 对于自增主键的表,插入可以不配置插入的主键列.否则是必须的. 获取主键      插入语句之前配置:主要是针对Sequence主键而言,插入前必须指定一个主键值给要插入的记录.Oracle.DB2亦如此,方法是在插入语句标签<insert....>之前配置上: <insert id="AltName.insert" parameterType

MyBatis 插入时候获取自增主键(1:写sql。2:注解@generatedvalue)

MyBatis 插入时候获取自增主键 方法有二 方法1: <insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id">        insert into person(name,pswd) values(#{name},#{pswd})    </insert> 方法2: <insert

mybatis中useGeneratedKeys用法--插入数据库后获取主键值

前言:今天无意在mapper文件中看到useGeneratedKeys这个词,好奇就查了下,发现能解决我之前插入有外键表数据时,这个外键获取繁琐的问题,于是学习敲DEMO记录    在项目中经常需要获取到插入数据的主键来保障后续操作,数据库中主键一般我们使用自增或者uuid()的方式自动生成 问题:对于uuid使用Java代码生成的方式还比较容易控制,然而使用数据库生成的主键,这样我们就需要将插入的数据再查询出来得到主键,某些情况下还可能查询到多条情况,这样就比较尴尬了. 那有什么办法来插入数据

MyBatis 插入时返回刚插入记录的主键值

MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java 1 package cn.com.zfc.model; 2 3 public class User { 4 5 private Integer id; 6 private String name; 7 private String password; 8 9 public Integer getId() { 10 retur