ページング機能MyBatisのフレームワーク

デマンド説明:ページングは​​、作成日時に従って降順でのユーザー管理機能のクエリユーザーリストの増加結果リストを達成します

/ **
*要件注:ページングは、ユーザー管理のクエリユーザリスト機能のための作成時間に従って降順に増加した結果のリストを達成
* @paramのroleids
* @return
* /
公共の一覧<ユーザー> getUserListByPage(@Param(「USERCODE」)文字列USERCODE 、のParam( "userNameに")@ ParamでのParam( "pageSizeを")整数のpageSize、@ Paramで( "currentPageに")整数currentPageに)@( "USERROLE")整数USERROLE、@文字列ユーザ名、。

<! -分页查询- >
<IDを選択= "getUserListByPage"このresultMap = "ユーザーリスト">
  選択*からsmbms_user A、smbms_role R 1 = 1とa.userrole = r.id
    <もしテスト=」userNameに=!ヌルおよびユーザ名!= '' ">と連結などa.userName( '%'、#{userNameに}、 '%')</ IF>
    <もしテスト=" USERROLE!= NULLとUSERROLE!= ''「>そしてa.userrole =#{USERROLE} </ IF>
  a.creationdate DESCリミット#{currentPageに}、{#} pageSizeを順
</選択>

 

<! -当数据库中的字段信息与对象的属性不一致时需要通过このresultMap来映射- >
<このresultMapタイプ= "ユーザー" ID = "ユーザリスト">
  <resultプロパティ= "ID"列= "ID" / >
  <resultプロパティ= "ユーザーコード"列= "ユーザーコード" />
  <resultプロパティ= "userNameに"列= "userNameに" />
  <結果プロパティ= "電話"の列= "電話" />
  = "誕生日" <resultプロパティ列= "誕生日" />
  <resultプロパティ= "性別"の列= "性別" />
  <resultプロパティ= "USERROLE"欄= "USERROLE" />
  <! - <resultプロパティ= "userRoleName"欄= "のroleName 「/> - >
</このresultMap>

 

1      // MyBatisのページ
2          @Test
 。3          公共 ボイドtestGetUserListByPage(){
 4。              SQLSESSION SQLSESSION = NULL ;
 5              列USERCODE = "" ;
 6              列のuserName = "" ;
 7              整数= USERROLE 3。;
 8              整数= pageSizeを5。;
 9              整数ザcurrentPageに0 =; // 0から始まるMySQLデータベースの開始デフォルト
10              リスト<ユーザー> = userListShow 新しい新しいのArrayList <ユーザ> ();
 。11              トライ{
12          
13                  SQLSESSION = MyBatisUtil.createSqlSession()。
14                  userListShow = sqlSession.getMapper(UserMapper。クラス).getUserListByPage(ユーザーコード、ユーザ名、USERROLE、pageSizeを、currentPageに)。
15                  
16              } キャッチ(例外e){
 17                  // TODO:ハンドル例外
18                  e.printStackTrace();
19              } 最後に{
 20                  MyBatisUtil.closeSqlSession(SQLSESSION)。
21              }
 22              用の(ユーザーユーザー:userListShow){
 23                 logger.debug( "testGetUserListByPageユーザーコード:" + user.getUserCode()+ "とユーザー名:" + user.getUserName()+ "とUSERROLE:" + user.getUserRole())。
24              }
 25          
26                  
27          }
 28     

結果:

1 [DEBUG] 2019年12月22日17:53:33894 cn.smbms.dao.user.UserMapper.getUserListByPage - ==>準備:smbms_userのA、1 = 1 smbms_role R SELECT * FROMとa.userrole = R。 idとa.userrole =?a.creationdate DESC制限によって順序?、? 
2 [デバッグ] 2019年12月22日17:53:33911 cn.smbms.dao.user.UserMapper.getUserListByPage - ==>パラメータ:3(整数)、0(整数)、5 (整数)
 3 [デバッグ] 2019 -12-22 17:53:33925 org.apache.ibatis.transaction.jdbc.JdbcTransaction -に自動コミットリセット真のJDBC接続で[com.mysql.jdbc.JDBC4Connection@4a738d08]
 4 [DEBUG] 2019年12月22日17: 53:33925 org.apache.ibatis.transaction.jdbc.JdbcTransaction - JDBC接続を閉じる[com.mysql.jdbc.JDBC4Connection@4a738d08]
5 [デバッグ] 2019年12月22日17:53:33925 org.apache.ibatis.datasource.pooled.PooledDataSource -戻された接続1249086728 プール。
6 [DEBUG] 2019年12月22日17:53:33926 cn.smbms.dao.user.UserMapperTest - testGetUserListByPage USERCODE:sunxingとユーザー名:孙兴とUSERROLE:3
 7 [DEBUG] 2019年12月22日午前17時53分: 33926 cn.smbms.dao.user.UserMapperTest - testGetUserListByPage USERCODE:zhangchenとユーザー名:张晨とUSERROLE:3
 8 [DEBUG] 2019年12月22日17:53:33926 cn.smbms.dao.user.UserMapperTest - testGetUserListByPage USERCODE :dengchaoとユーザー名:邓超とUSERROLE:3
 9 [DEBUG] 2019年12月22日17:53:33926 cn.smbms.dao.user.UserMapperTest - testGetUserListByPage USERCODE:zhaoyanとユーザー名:赵燕とUSERROLE:3
 10 [デバッグ] 2019年12月22日17:53:33926 cn.smbms.dao.user.UserMapperTest  -  testGetUserListByPage USERCODE:sunleiとユーザー名:孙磊とUSERROLE:3

おすすめ

転載: www.cnblogs.com/dongyaotou/p/12080477.html