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);
}
要返回的是用序列作为的主健  经过测试  能返回插入时的主健  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM