日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM)

發布時間:2025/3/17 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

類型別名(typeAliases):
?????
作用:通過一個簡單的別名來表示一個冗長的類型,這樣可以降低復雜度。
????類型別名標簽typeAliases中可以包含多個typeAlias,如下

[html]?view plaincopy
  • <typeAliases>??
  • ????<typeAlias?alias="user"?type="com.jefry.User"/>??
  • ????????<typeAlias?alias="student"?type="com.jefry.student"/>??
  • ?????????……??
  • ?????????……??
  • ?????????……??
  • </typeAliases>??
  • 本著簡單的原則,我還是接著上一講實例代碼來作修改
    ?在mybatis-config.xml文件增加一個<typeAliases>
    ??? 代碼如下:

    [html]?view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?configuration??
  • PUBLIC?"-//mybatis.org//DTD?Config?3.0//EN"??
  • "http://mybatis.org/dtd/mybatis-3-config.dtd">??
  • <configuration>??
  • ????<typeAliases>??
  • ????????<typeAlias?alias="user"?type="com.jefry.User"/>??
  • ????</typeAliases>??
  • ??????
  • ????<environments?default="development">??
  • ????????<environment?id="development">??
  • ????????????<transactionManager?type="JDBC"/>??
  • ????????????<dataSource?type="POOLED">??
  • ????????????????<property?name="driver"?value="com.mysql.jdbc.Driver"/>??
  • ????????????????<property?name="url"?value="jdbc:mysql://127.0.0.1:3306/test"/>??
  • ????????????????<property?name="username"?value="root"/>??
  • ????????????????<property?name="password"?value="root"/>??
  • ????????????</dataSource>??
  • ????????</environment>??
  • ????</environments>??
  • ????<mappers>??
  • ????????<mapper?resource="com/jefry/UserMapper.xml"/>??
  • ????</mappers>??
  • </configuration>??

  • 那么在UserMapper.xml文件中type="com.jefry.User"就可以替換為user
    如下:

    [html]?view plaincopy
  • <span?style="font-size:14px;"><?xml?version="1.0"?encoding="UTF-8"??>????
  • <!DOCTYPE?mapper????
  • PUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN"????
  • "http://mybatis.org/dtd/mybatis-3-mapper.dtd">????
  • <mapper?namespace="User">????
  • ????<!--resultType?表示com.jefry.User這樣一個實體對象?-->????
  • ????<select?id="selectUser"?parameterType="int"?resultType="user">????
  • ????????select?*?from?t_user?where?id?=?#{id}????
  • ????</select>????
  • </mapper>??</span>??
  • 表-對象映射

    ??????? 上一講中實例,我們并沒有配置表的字段與實體屬性之間的關聯,但是我們卻得到了我們想要的實例對象。原因是我們的t_user表的各個字段名與User類的成員屬性名完全一致,一旦t_user表的各個字段名與User類的成員屬性名不同(比如t_user某個字段是name,而User的屬性卻是username)怎么辦呢?
    ???? ? MyBitis借助resultMap實現了表-對象映射如下:

    [html]?view plaincopy
  • <span?style="color:#000000;"><resultMap?id="userResultMap"?type="user">???
  • ????????<id?property="id"?column="id"/>???
  • ????????<result?property="userName"?column="name"/>???
  • ????????<result?property="password"?column="pass"/>???
  • ?????</resultMap></span>??

  • ?根據字面意思我們很容易將字段與屬性映射起來。
    ?需要主要的是 resultType="com.jefry.User">變為resultMap="userResultMap"啦。

    [html]?view plaincopy
  • <span?style="color:#000000;">????<select?id="selectUser"?parameterType="int"??resultMap="userResultMap"?>??
  • ????????select?*?from?t_user?where?id?=?#{id}???
  • ????</select></span>??
  • 新的UserMapper.xml代碼如下:

    [html]?view plaincopy
  • <span?style="color:#000000;"><?xml?version="1.0"?encoding="UTF-8"??>??
  • <!DOCTYPE?mapper??
  • PUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN"??
  • "http://mybatis.org/dtd/mybatis-3-mapper.dtd">??
  • <mapper?namespace="user">??
  • ?????<resultMap?id="userResultMap"?type="user">???
  • ????????<id?property="id"?column="id"/>???
  • ????????<result?property="userName"?column="name"/>???
  • ????????<result?property="password"?column="pass"/>???
  • ?????</resultMap>??
  • ??????
  • ????<!--resultType?表示com.jefry.User這樣一個實體對象?-->??
  • ????<select?id="selectUser"?parameterType="int"??resultMap="userResultMap"?>??
  • ????????select?*?from?t_user?where?id?=?#{id}??
  • ????</select>??
  • </mapper></span>?
  • 總結

    以上是生活随笔為你收集整理的MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。