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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ORM框架通过映射(反射)获取数据库的数据

發布時間:2023/12/9 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORM框架通过映射(反射)获取数据库的数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  ORM(Object Relational Mapping)框架采用元數據來描述對象一關系映射細節,元數據一般采用XML格式,并且存放在專門的對象一映射文件中。
只要提供了持久化類與表的映射關系,ORM框架在運行時就能參照映射文件的信息,把對象持久化到數據庫中。當前ORM框架主要有四種:Hibernate(Nhibernate),iBATIS,mybatis,EclipseLink。
  ORM是通過使用描述對象和數據庫之間映射的元數據,在我們想到描述的時候自然就想到了xml和特性(Attribute).目前的ORM框架中,Hibernate就是典型的使用xml文件作為描述實體對象的映射框架,而大名鼎鼎的Linq則是使用特性(Attribute)來描述的。

元數據(Metadata)

  是描述其它數據的數據(data about other data),或者說是用于提供某種資源的有關信息的結構數據(structured data)。元數據是描述信息資源或數據等對象的數據,其使用目的在于:識別資源;評價資源;追蹤資源在使用過程中的變化;實現簡單高效地管理大量網絡化數據;實現信息資源的有效發現、查找、一體化組織和對使用資源的有效管理。

對映射獲得數據庫的數據放大做簡單的介紹

創建一個數據表相對應的類Student ? 包含:屬性stuid、stuname、tid以及相對應的set/get方法,右側是數據庫對應的表信息

下面是數據庫個字段對應的數據類型

1.通過映射獲取student類的實例

path表示Student類的全類名 ? ? ?object表示通過映射(反射)獲得的student的實例

2.通過JDBC方法獲取數據連接、執行sql語句、獲得查詢結果集

步驟:加載Driver驅動、獲取數據庫連接connection、通過連接獲得prepareDstatement對象、Resultset接受執行sql語句的結果集

ps.setInt(1,3)----設置查詢stuid=3;

3.遍歷結果集

通過rs.getMetaDate()(返回數據類型是ResultSetMetaData)獲取結果集的元數據 ,再由元數據的getColumnCount()方法獲得數據庫表Student的字段個數

通過循環逐一獲得字段對應的數據,這里注意在循環過程中下標從1開始,下標最大值等于字段的個數

  獲得字段對應的set方法

寫一個字符串拼接方法,獲得給定字符串的set方法

例如:傳入name ?返回setName

  循環獲得數據

  通過元數據的getColumnName(int index)(返回結果是String類型)方法,獲得字段的名稱;再通過元數據的getColumnTypeName(int index)(返回值String)獲得

字段對應的數據類型,將字段名傳入寫好的上述寫好的方法setMethod(String name)中獲得字段對應的set方法名稱

  判斷字段的數據類型,調用對應的set方法

  Student實體類的getClass()方法,運行時獲得Student類,通過類的getMethod(setMethod,Integer.class)(以integer類型距離)方法獲得set方法,通過invoke()傳入Student的實體類和字段對應的值re.getInt(column_name)執行set方法

執行打印結果

?將Student的實體類轉換成Student類型,并打印出來

?

============================================================================================

循環打印出對應的數據類型

?

元數據的getColumnType(int index)返回字段數據對應的字段長度

?

?

============以上內容是個人學習總結=================

================僅供參考======================

?

轉載于:https://www.cnblogs.com/kuoAT/p/6145755.html

總結

以上是生活随笔為你收集整理的ORM框架通过映射(反射)获取数据库的数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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