关闭

3.IBatis 其他重要特性

266人阅读 评论(0) 收藏 举报

最后说明一下在例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中所使用表的别名被用作了根元素的子元素。

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:40384次
    • 积分:653
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:30篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论