04.09 5分鐘快速學習—— BeetlSQL 快速入門

摘要: 本博客幫助用戶瞭解什麼是BeetlSQL,以及為什麼要用BeetlSQL

5分鐘快速學習—— BeetlSQL 快速入門

企業應用面臨的問題

  • 高效編寫數據庫訪問代碼

    • 內置CRUD,不需要寫SQL

    • 支持OR/Mapping

    • 悲觀鎖,樂觀鎖,邏輯刪除等輔助支持等

  • 即支持簡單的CRUD,也支持數十行,上百行SQL編寫

  • 跨數據庫平臺支持,Oracle,Postgres,Mysql,以及SQLServer,DB2,H2,SQLLite,包括翻頁,排序,還有各個廠商特殊語法

  • 易於維護

    • 重構支持

    • 易於修改

    • DBA友好

  • 豐富的調試手段,詳細日誌輸出

  • Interceptor支持:具備SQL執行監控,SQL重寫

  • 支持POJO或者Map,或者混合模型

BeetlSQL 使用方式

  • 內置API調用完成

  • Query鏈式查詢

  • MarkDown 維護複雜SQL

  • 支持POJO,也支持Map或者混合模型

  • 主從支持和Sharding-JDBC分表分庫集成

內置API

5分鐘快速學習—— BeetlSQL 快速入門

Query 鏈式操作

5分鐘快速學習—— BeetlSQL 快速入門

Java8

5分鐘快速學習—— BeetlSQL 快速入門

處理複雜SQL

5分鐘快速學習—— BeetlSQL 快速入門

超簡單的Dao實現

5分鐘快速學習—— BeetlSQL 快速入門

  • console.user 指明瞭SQL文件的位置,方法名對應了SQL片段名稱。

  • 繼承BaseMapper可以獲得內置的CRUD等若干現成方法

調試

內置DebugInterceptor,也支持擴展,用於安全監控,性能監控,改寫SQL

5分鐘快速學習—— BeetlSQL 快速入門

完美定位到業務場景發生代碼,消費時間,輸入輸出。

簡單支持複雜關係映射查詢

5分鐘快速學習—— BeetlSQL 快速入門

一個用戶關聯一個部門,關聯多個角色

跨數據平臺

  • 內置操作都是跨數據庫平臺,依賴不同的XXDBStyle

  • 提供翻頁內置操作,支持不同數據庫

  • MarkDown 管理不同數據庫平臺的有差異的SQL

    • sql/user.md,

    • sql/oracle/user.md

    • sql/mysql/user.md

一句話總結其他Dao工具問題

每個Dao工具都有特定使用範圍和歷史背景,沒有最好的工具,只有適合自己的工具

  • JPA: 缺少管理複雜SQL能力,OR/Mapping 太強大容易用錯。

  • Spring Data: 主要目的是SQL和NOSQL統一api,應用場景較為簡單。其他缺點同JPA

  • MyBatis: 缺少內置功能,XML管理SQL不方便,出錯調試難度大(沒有自己的語法體系),OR/Mapping 功能弱

  • MyBatis-Plus: 國內基於Mybatis封裝功能,具備內置功能和Lock,邏輯刪除等方便的功能。缺點同BeetlSQL一樣,都是國內個人維護。

  • JOOQ:應用場景較為簡單,類似BeetlSQL Query功能,實際使用起來比較複雜

  • EBean:功能同JPA,比Hiberante弱,比JPA強。缺點同JPA

  • Spring-JDBCTemplate: 幾乎沒有提供企業應用需要的任何功能,還需要二次封裝才能使用

總結BeetlSQL

  • 混合JPA,MyBatis,JOOQ功能

  • 創立Markdown管理複雜SQL

學習曲線

  • Hibernate 1個月入門,半年精通

  • JPA 一週入門,3個月年精通

  • MyBatis 一週入門,一個月精通

  • BeetlSQL 3天入門,2周精通


分享到:


相關文章: