`
joy_cz
  • 浏览: 131142 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

IBatis 其他重要特性

阅读更多

最后说明一下在例12.2中没有出现、但比较重要的特性。

1.利用<insert>元素来生成自动主键

IBatis框架中可以利用数据库原有的特性来生成自动主键。比如常见的用法:用sequence来生成主键的示例,这是一个预生成的主键。

<insert id="insertByAutoPK" parameterClass="test.sample.User">

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

                    SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL

         </selectKey>

         insert into USER (USER_ID,USER_NAME)

         values (#id#,#userName#)

</insert>

另一常见的用法:利用identity来生成主键的示例,这是一个后生成的主键。

<insert id="insertByAutoPK" parameterClass="test.sample.User">

         insert into USER (USER_NAME)

         values (#userName#)

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

                   SELECT @@IDENTITY AS ID

         </selectKey>

</insert>

2xmlResultName属性来返回XML文档

<select><statement>元素和<procedure>元素中,都可以使用xmlResultName属性来实现将结果集写到XML文档的功能。

<select id="getUser"

        parameterClass="int"

        resultClass="xml"

        xmlResultName="user">

         SELECT USER_ID as id,

                USER_NAME as userName,

                USER_SEX as userSex,

         FROM USER

         WHERE USER_ID = #userId#

</select>

执行完成后,会生成如下的XML文档。

<user>

         <id>1</id>

         <userName>RW</userName>

         <userSex>M</userSex>

</user>

可以看到,resultClass属性被定义成了“xml”,这是必需的。xmlResultName属性所定义的值被用作XML文档的根元素,而select中所使用表的别名被用作了根元素的子元素。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics