ibatis的insert操作返回id 博客分类: oracle ibatis ibatisOracle
在ibatis的insert操作中,会返回一个Object对象,这个对象就是返回的主键值,
而且是通过配置了selectKey才会返回的主键值,否则只会返回null,selectKey配置如下:
1、id是序列
<insert id="insertPerson-Oracl" parameterClass="person">
<selectKey resultClass="int" keyProperty="id">
SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL
</selectKey>
insert into
PERSON(PER_ID,PER_FIRST.....)
values(#id#,#firstName#....);
</insert>
2、id是sys_guid()
<!-- module表中插入数据 -->
<insert id="insertModule" parameterClass="com.cbitech.csims.security.service.domain.SysModule">
<selectKey resultClass="java.lang.String" keyProperty="id">
<![CDATA[
SELECT sys_guid() AS GUID FROM DUAL
]]>
</selectKey>
<![CDATA[
INSERT INTO sys_module
(
ID,
PARENT_ID,
TITLE,
DESCRIPTION,
OPEN_FLAG,
CREATE_USER,
MODULE_NO,
CREATE_DATETIME
)
VALUES
(
#id#,
#parentId#,
#title#,
#description#,
#openFlag#,
#createUser#,
#moduleNo#,
#createDatetime#
)
]]>
</insert>