古詩詞大全網 - 成語查詢 - MyBatis怎樣實現MySQL動態分頁

MyBatis怎樣實現MySQL動態分頁

壹、mysql 使用limit 子句來實現數據庫的物理分頁,limit 子句接受 壹個或兩個參數,第壹個參數指定第壹個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數量。在mybatis 中,只需要在相 應的查詢語句後,加上limit 子句,即可實現物理分頁。如下,以 壹個只有字段id,name,age 的表為例。該配置會根據傳入的 hashmap,如果含有鍵start 和鍵end,那麽即通過mybatis 強大的 動態sql,生成含有mysql 分頁的sql語句。 select * from users limit #{start},#{end}

二、mybaits 簡介

mybatis,前稱ibatis,後改名為mybatis,截止本文成文,最新 版本是3.0.6。它和hibernate 是java世界使用最多的兩種orm 框 架。hibernate 理念最為先進,完全實現面向對象的數據庫編程,不需要掌握sql 語句,即可實現數據庫操作,能夠節省開發人員編 寫大量sql語句的時間。但是,hibernate 在處理多表關聯時,可 能會出現n+1 問題,性能會有較大影響,要解決性能問題,需要較 深的hibernate 知識和項目經驗。mybatis 需要自己寫sql 語句, 開發效率不如hibernate,很難做到底層多數據庫的通用。但對程 序員來說有更高的可控性,可以更容易的對sql 語句進行優化,提 高效率。

在開發中直接使用jdbc 壹個非常普遍的問題就是動態sql。如果 參數值、參數本身和數據列都是動態sql,通常的解決方法就是寫很多if-else 條件語句和字符串連接。而mybatis 通過ognl 提供 了壹套非常清晰的方法來解決動態sql 的問題。