iBatis自动生成的主键 返回主键 (Oracle,Sql Server,Mysql)

http://hi.baidu.com/jenk/blog/item/4c5d63f09c1b83c67931aa21.html

iBatis自动生成的主键

很多数据库支持自动生成主键的数据类型。不过这通常(并不总是)是个私有的特性。

SQL Map 通过<insert>的子元素<selectKey>来支持自动生成的键值。它同时支持预生成(如

Oracle)和后生成两种类型(如 MS-SQL Server)。下面是两个例子:

<

!—Oracle SEQUENCE Example –>

<insert id="insertProduct-ORACLE" parameterClass="com.domain.Product">

<selectKey resultClass="int" keyProperty="id" >

SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL

</selectKey>

insert into PRODUCT (PRD_ID,PRD_DESCRIPTION)

values (#id#,#description#)

</insert>

<!— Microsoft SQL Server IDENTITY Column Example –>

<insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product">

insert into PRODUCT (PRD_DESCRIPTION)

values (#description#)

<selectKey resultClass="int" keyProperty="id" >

SELECT @@IDENTITY AS ID

</selectKey>

</insert>

<!– Mysql  这个例子是我自己加上去的–>

<insert id="insertProduct-Mysql" parameterClass="com.domain.Product">

insert into PRODUCT(PRD_DESCRIPTION)

values (#description#)

<selectKey resultClass="int" keyProperty="id">

SELECT LAST_INSERT_ID()

</selectKey>

</insert>

加载评论框需要翻墙