`
quanxi40402
  • 浏览: 0 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
ibatis插入数据 insert
 Ibatis中insert用法
分类: Java分类 2009-04-16 12:30 1791人阅读 评论(2) 收藏 举报
    在Ibatis中,insert()的返回值为一个Object的主键,其实这个Object的主键是这样的来的:如果在bean的xml文件中设置了插入的keyProperty,则insert()方法返回的就是这个主键的值。

    例如,所以我们想要在插入时想要插入一个sequence值到数据库的某个字段(当然,这个字段的类型为Number的),我们可以在xml文件中做如下配置(以下为在DB服务器是Oracle的前提下):

<insert id="insertUser" parameterClass="po.User">
     <selectKey resultClass="int" keyProperty="userId" >
         SELECT user_account_s.nextval AS userid FROM dual
     </selectKey>
  insert into user_account(userid, username, password, groupname)
          values(#userId#, #userName#, #password#, #groupName#)
 </insert>

此时插入到数据库中的某表userid字段的值即使sequence的值。但要注意的是,配置中出现的红色加粗字体一定要对应到bean中的属性字段,也即要与bean中的属性字段名称相同,否则则会抛出异常。

    如果是SQL SERVER数据库,则进行如下配置:

<insert id="insertUser" parameterClass="po.User">
    insert into user_account(userid, username, password, groupname)
          values(#userId#, #userName#, #password#, #groupName#)

     <selectKey resultClass="int" keyProperty="userId" >
         SELECT @@IDENTITY as userid
     </selectKey>
 </insert>
Global site tag (gtag.js) - Google Analytics