getSqlMapClientTemplate().insert()方法的返回值问题

insert方法的返回值
    今天碰到一个问题,就是关于ibatis的insert方法的返回值的问题。在网上找了很多例子,自己也亲自试了一下。

最后得出结论:insert方法返回的是在表中插入记录的主键值对象,如果没有主键,则返回一个null。

 

xml中的配置如下:
    <insert id="insert" parameterClass="uRole">
<selectKey resultClass="int" keyProperty="id">
SELECT SEQ_U_ROLE.NEXTVAL AS ID FROM DUAL
</selectKey>
insert into U_ROLE(ROLE_ID,NAME,TYPE,CREATE_TM,CREATE_PESON
          ,OTHER1,OTHER2,OTHER3 ) 
values  (#id:INTEGER#,#name:VARCHAR#,#type:VARCHAR#,
         sysdate,#createPeson:VARCHAR#,
#oTHER1:VARCHAR#,#oTHER2:VARCHAR#,#oTHER3:VARCHAR# )
      </insert>
然后在dao层的调用方法是:
public int insertRole(URole role) {
return (Integer)this.getSqlMapClientTemplate().insert("URole.insert",role);
}
要返回的是用序列作为的主健  经过测试  能返回插入时的主健  

 

posted @ 2013-11-21 17:03  培杰  阅读(5838)  评论(0编辑  收藏  举报