[size=large]Mybatis的分頁功能可不可以通過資料庫中的存儲過程動态執行查詢來幫助實作?[/size]
[size=large] Spring、Mybatis、Mysql 通過存儲過程實作分頁部落格一共有3部分[/size]
[size=large]第一部分:存儲過程動态分頁之存儲過程實作[/size]
[size=large]第二部分:存儲過程動态分頁之Mybatis實作[/size]
[size=large]第三部分:存儲過程動态分頁之實際工程demo[/size]
目前這篇講的是
[size=large]第三部分:存儲過程動态分頁之實際工程demo[/size]
項目介紹
eclipse,maven,spring4,mybatis3,c3p0,mysql
用到的mybatis插件:
MyBatis Velocity 連結:http://www.mybatis.org/velocity-scripting/index.html
Mybatis spring 連結:http://www.mybatis.org/spring/
MyBatis Generator 連結:http://www.mybatis.org/generator/
已上傳至GitHub。
連結:[url]https://github.com/noobthinker/spring4_mybatis3_mysql_dynamic_paging[/url]
簡單的在test庫中建立了2個測試表
插入了一些資料
user表
user 表内容
fun_log表内容
fun_log表
userservice
Test 執行結果
[size=large]擷取3條user記錄[/size]
log 列印出的Mybatis 執行日志
console 輸出擷取到的記錄
[size=large]例如:擷取user表從第4條開始,擷取6條記錄[/size]
修改Test類
Mybatis 執行日志
控制台輸出
[size=large]剛才示範了單個表的資料分頁情況。
下面示範2個表資料分頁情況。[/size]
先示範擷取使用者日志的sql 和執行情況
執行結果
Test 方法
Mybatis 執行日志
console 輸出
可以看到關鍵部分:
[size=large]
SELECT * FROM user,fun_log f where f.user_id=user.id and user.id=1(String), 0(Integer), 2(Integer)[/size]
是Mybatis實作動态查詢的關鍵部分。
再次修改下測試類,擷取從user id 是1 的log 第4條開始,擷取6條記錄
Mybatis 執行日志
console輸出