軟體開發_java操作Mysql資料庫

前言

近期自己構建了一個java springboot專案,資料庫讀寫環節,我陷入了沉思。java讀寫資料庫我是使用jpa呢?還是mybatis呢?

求道

1、回顧歷史:

原始時代:jdbc時代,自己構建Connection,Statement,讀取ResultSet。

SSH時代:ssh黃金組合,Hibernate ORM風靡,各種One to many,many to many及一二級快取搞暈了,使用簡單,深入瞭解還是有些門檻。

Mybatis:

一款優秀的持久層框架,可透過簡單的 XML 或註解來配置和對映原始型別、介面和 Java POJO(Plain Old Java Objects,普通老式 Java 物件)為資料庫中的記錄。

2、上下求索

早期直接jdbc,簡單直接,沒有什麼連線池,程式設計師自己管理。軟體的複用性太差。

後來用了hibernate,很容易上手,對於複雜的場景配置起來比較麻煩。門檻高,執行效率低。

再後來,接觸了mybatis,透過xml配置,只要會sql就可以搞定,有點小驚喜。門檻低,自己編寫xml太繁瑣。

再後來,接觸了jpa,太他媽簡單了,自動建立表,透過規則自動建立查詢或更新語句,也可透過SQL進行擴充套件。簡潔,國外廣泛使用,執行效率低一些。

再後來,接觸了mybatis-generator可以生成通用的mybatis的xml語句。阿里內部有個Aligenerator對其進行了擴充套件,可以對複雜的查詢封裝了Criteria。所幸找到了與其類似的IDEA外掛better-mybatis-generator,每個表對於一個*Example,也是封裝了Criteria物件。

涅槃

兜兜轉轉10多年開發,jdbc已經是過去式了;jpa很簡潔,資料量大的時候,擔心其效率問題(可能透過其他高階語法來解決),未深入研究;mybatis是我最喜歡的方式,也可能跟某段公司經歷有關係吧,且透過better-mybatis-generator外掛完美了把低門檻和高複用結合起來,那就別糾結了,就它了,挺好。

以上就是我對ORM的選型心勵路程,mybatis+better-mybatis-generator,你是否有更好選擇推薦。