天天看點

Spring、Mybatis、Mysql 通過存儲過程實作分頁--工程demo

[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輸出