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);
}
要返回的是用序列作為的主健 經過測試 能返回插入時的主健
