- 4
- 0
- 约7.74千字
- 约 8页
- 2018-04-30 发布于河南
- 举报
Ibatis的学习笔记
Ibatis的學習筆記
現在最如日中天的是Hibernate,但老朽學了一下,然後就沒有再學下去,原因簡單,因為設計思路不同。以前做的系統全是在設計完成後,數據庫先行,並且有大量的主從表以及存儲過程,觸發器以及函數等內容,這是由於需要充分利用DBMS本身的優化設計以提高性能和使用的便利,這點Hibernate是無法體會得到的。
另外,這種設計思想對於熟悉SQL的人來講並感覺不到太大的方便之處,除了不用再在編寫增修刪等的工作上進行重復勞動,而HQL更是有點過分的感覺。
當然,老朽對Hibernate了解不多,所以可能其沒非如此弱也不一定,但已經不想再花時間來更深入的了解一下了,這個時間可以設計一個新的ORM,差不多吧?差多了,呵呵。
其優點在於:
由面向表格轉為面向對象,其實這樣說有偏頗之處,表格如果是按基本的設計方式來的話,大部分是實體的數據表現,其本身就是對象,雖然是基於關系數據庫的表現。
隱藏了SQL,就是將對數據庫系統的直接操作隱藏了起來,好處是使不諳數據庫的開發人員可以不用再學,而直接使用某語言的方式就可以做,壞處是,這樣使得數據庫本身只是成為了數據存儲器,而其本身的好處再也體現不出來了。
好象上面說的不是優點,不過第一句話是優點的,確實是,但其後面卻有幾個概念和應用上的誤解,目前對很多初入門的同學影響很大,唉,計算機應用的技術又豈是一語可蓋之的,因為應用是世界一種在基礎層面之上一個層面的表現方式,故亦如世界本身一樣,包羅萬象也。
好久以前,大約一年多了吧,知道有個ibatis這樣一個東西,卻一直沒有看一下,只是由朋友和一些簡要的文檔那裡知道一些特性,就是它是由自己定義SQL來的,沒有完全封裝,所以提供了更大的自由度和擴展性,於是,也就不如Hibernate來的徹底和方便。
應用學習者,由實例入門也,此方為正途,省時又易上手。
於是編一個小小的例子,只對一個單表進行基本操作,感覺還行,例程寫法,後面再一步步的來列出來,兼之批評一下,有一些文章對例程往往語焉不詳,特別在當前配置文件大行其道的時候,對配置文件的位置竟然不講,而且一文中,文件名始與終不統一,頗有些始亂終棄的感覺,嘿嘿,此詞用得可能不好,卻是最好的寫照,此類文章是浪費時間的最好去處,讀到最後,按例程走的結果是失敗,真是賠了時間又走錯路。
好了,在做完該小例後,開始亂想,主要有幾個方面:
主從表的處理
存儲過程的處理
不規則查詢的處理
編寫工具程序的實現
最近可能是由於更多傾向於IDE的設計,所以對第四條想得比較多些,對於主從表的處理,老朽一直沒有想到一個比較好的處理方法,特別對於數據新增和修改的准確性上面,很是有點頭痛。
主從表的問題,主要是體現在對主從表同時新增和修改的情況,從表數據的准確性驗證比較復雜。事務在這裡並不是萬能的,所以這裡應該更多的考慮在數據庫之前的驗證准確性應該是解決問題的核心所在吧。
編寫工具程序,想了一下,對ibatis如果要進行編寫並不是一個簡單的事情,因為裡面客制化的內容比較多,想了一下,就決定不想了。
最近更在考慮一個元對象的問題,就是將類的屬性本身實際上也是一個對象,那麼這個類別的類的設計,其實也就是一種元數據了,這樣可以對類的屬性進行統一,從而可以在應用層處理上提供更大的方便,比如輸入界面,可以通過程序直接動態拉出來等等吧。
參考文檔:
iBATIS Database Layer開發指南
Clinton Begin 著 劉濤譯
附:ibatis例程(注:該例來自於參考文檔,改正了其中的部分錯誤)
構造環境
建立project目錄結構,這一部分很簡單,老朽用eclipse,目錄結構如下:
將相關的類庫包文件復制至ibatis目錄下面,並加入到該工程的build path,就是加入classpath:
如此,工程的基本環境構建完成。
建立數據表並設置數據源(注:在這裡,為了方便,使用了橋接方式)
建立數據表,SQL如下,老朽用的是SQLServer,無他,只因機器上有。
CREATE TABLE PERSON (
PER_ID numeric(5, 0) NOT NULL ,
PER_FIRST_NAME varchar (40) NOT NULL ,
PER_LAST_NAME varchar (40) NOT NULL ,
PER_BIRTH_DATE datetime NULL ,
PER_WEIGHT_KG numeric(4, 2) NOT NULL ,
PER_HEIGHT_M numeric(4, 2) NOT NULL ,
PRIMARY KEY (PER_ID)
)
建立數據源,並指向Person表所在的數據庫
編寫例程代碼,在這裡,只是建立對Person表的基本操作代碼,如新增,修改和刪除而已。
您可能关注的文档
最近下载
- 租房合同范本,租房租房合同范本.docx VIP
- 2024-2025学年八年级数学上册:全等三角形的判定(ASA与AAS) 知识梳理与讲解.pdf VIP
- 2026-2030中国沼气产业深度解析及发展前景对策建议研究报告.docx
- 2023年广西南宁市中考数学一模试卷.pdf VIP
- 场地设计真题06-09年.pdf VIP
- 广东省2025年初中学业水平考试地理真题(含答案).pdf VIP
- 广东省高考:2025年-2023年《生物》考试真题与参考答案.pdf
- 2025年烟叶评级技能竞赛理论参考试题库-上(单选题汇总).docx
- 《心脑血管类》课件.pptx VIP
- 化工单机设备试车方案与操作流程.docx VIP
原创力文档

文档评论(0)