zoukankan      html  css  js  c++  java
  • oracle insert in ibatis3

    今天开始用ibatis3在Oracle中做一个user表的插入:

      <insert id="insertSelective" parameterType="cn.com.aabbcc.beans.InnerUser">
        insert into SQ_ADMIN
        <trim prefix="(" suffix=")" suffixOverrides=",">
          <if test="name != null">
            NAME,
          </if>
          <if test="password != null">
            PASSWORD,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            #{innerUserID,jdbcType=DECIMAL},
          <if test="name != null">
            #{name,jdbcType=VARCHAR},
          </if>
          <if test="password != null">
            #{password,jdbcType=VARCHAR},
          </if>
        </trim>
      </insert>

    报告:不能将NULL插入到ID中。噢!原来我没有写select SQ_ADMIN_SEQ.nextval from dual

    修改后就好了,注意红色部分,order="BEFORE"在3.0中要加上的,然后ID不要去用<if test="innerUserID != null">去判断,因为innerUserID永远是null(不知道是不是BUG):

      <insert id="insertSelective" parameterType="cn.com.aabbcc.beans.InnerUser">

        <selectKey keyProperty="innerUserID" resultType="Long" order="BEFORE">
          select SQ_ADMIN_SEQ.nextval from dual
        </selectKey>

        insert into SQ_ADMIN
        <trim prefix="(" suffix=")" suffixOverrides=",">

       ID,
          <if test="name != null">
            NAME,
          </if>
          <if test="password != null">
            PASSWORD,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            #{innerUserID,jdbcType=DECIMAL},
          <if test="name != null">
            #{name,jdbcType=VARCHAR},
          </if>
          <if test="password != null">
            #{password,jdbcType=VARCHAR},
          </if>
        </trim>
      </insert>

  • 相关阅读:
    C#多线程学习(一) 多线程的相关概念
    如何:创建和终止线程(C# 编程指南)
    原来多线程中的join()是这么回事(转)
    c# 关于Task类处理多线程的学习
    C#多线程学习(四) 多线程的自动管理(线程池)
    【转】Java 四种引用
    【转】Java线程:新特征锁(1)
    Builder
    Proxy
    【转】Java NIO(一)
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1742741.html
Copyright © 2011-2022 走看看