1. 程式人生 > >Mybatis資料庫操作的返回值

Mybatis資料庫操作的返回值

insert,返回值是:新插入行的主鍵(primary key);需要包含<selectKey>語句,才會返回主鍵,否則返回值為null。
update/delete,返回值是:更新或刪除的行數;無需指明resultClass;但如果有約束異常而刪除失敗,只能去捕捉異常。
queryForObject,返回的是:一個例項物件或null;需要包含<select>語句,並且指明resultMap;
queryForList,返回的是:例項物件的列表;需要包含<select>語句,並且指明resultMap;

我的配置檔案如下(desktop_common_sqlMap.xml):

  1. <typeAliasalias="UnlockTagInfo"type="com.desktop.common.bean.UnlockTagInfo"/>
  2. <resultMapclass="UnlockTagInfo"id="UnlockTagInfoResult">
  3.     <resultcolumn="id"property="id"jdbcType="INTEGER"/>
  4.     <resultcolumn="name"property="name"jdbcType="VARCHAR"/>
  5.     <resultcolumn="description"
    property="description"jdbcType="VARCHAR"/>
  6.     <resultcolumn="priority"property="priority"jdbcType="INTEGER"/>
  7. </resultMap>
  8. <insertid="insertUnlockTagInfo"parameterClass="map">
  9.     <selectKeyresultClass="int"keyProperty="id">
  10.         select  
  11.         nextval('desktop_unlock_tag_id_seq') as id  
  12.     </selectKey>
  13.     insert into  
  14.     desktop_unlock_tag(id,name,description,priority)  
  15.     values(#id:INTEGER#,#name:VARCHAR#,#description:VARCHAR#,#priority:INTEGER#)  
  16. </insert>
  17. <updateid="updateUnlockTagInfo"parameterClass="map">
  18.     update  
  19.     desktop_unlock_tag  
  20.     set modify_time=now(),priority=#priority:INTEGER#,  
  21.     name=#name:VARCHAR#,description=#description:VARCHAR#  
  22.     where  
  23.     id=#id:INTEGER#  
  24. </update>
  25. <deleteid="deleteUnlockTagInfo"parameterClass="int">
  26.     delete from  
  27.     desktop_unlock_tag  
  28.     where id=#value:INTEGER#  
  29. </delete>
  30. <selectid="countUnlockTagInfo"resultClass="int">
  31.     select count(*)  
  32.     from  
  33.     desktop_unlock_tag  
  34. </select>
  35. <sqlid="selectUnlockTagInfo">
  36.     select  
  37.     id,name,description,priority  
  38.     from  
  39.     desktop_unlock_tag  
  40. </sql>
  41. <selectid="findUnlockTagInfoById"parameterClass="int"
  42.     resultMap="UnlockTagInfoResult">
  43.     <includerefid="selectUnlockTagInfo"/>
  44.     where id=#id:INTEGER#  
  45. </select>
  46. <selectid="listUnlockTagInfo"parameterClass="map"
  47.     resultMap="UnlockTagInfoResult">
  48.     <includerefid="selectUnlockTagInfo"/>
  49.     order by  
  50.     modify_time desc limit #size:INTEGER#  
  51.     offset #start:INTEGER#  
  52. </select>