mybatis分頁及模糊查詢功能實現(xiàn)
mybatis中分頁有3種方式來實現(xiàn),通過sql語句(兩種傳參方式)來實現(xiàn),通過mybatis 的 Rowbounds 來實現(xiàn)。
通過(自定義類型)傳參 來實現(xiàn)分頁:
映射文件:
<select id="findListBypage" parameterType="cn.wh.util.PageUtil" resultType="Role">
select * from t_role limit #{index},#{size}
</select>
測試代碼:
/**
* 通過自定義類型來傳參 實現(xiàn)分頁功能 需要新建一個類型
*/
@Test
public void testPage1(){
PageUtil pu = new PageUtil();
pu.setIndex(3);
pu.setSize(3);
List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", pu);
for(Role r:list){
System.out.println(r.getName());
}
}
通過map傳參實現(xiàn):
映射文件:
<select id="findListBypage" parameterType="map " resultType="Role">
select * from t_role limit #{index},#{size}
</select>
測試代碼:
/**
* 可以通過map來傳參 這樣可以不用新建新的類型
*/
@Test
public void testPage2(){
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("index", 0);
map.put("size", 3);
List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", map);
for(Role r:list){
System.out.println(r.getName());
}
}
通過RowBounds來實現(xiàn)分頁:
映射文件:
<select id="findAll" resultType="Role">
select * from t_role
</select>
測試代碼:
/**
* 使用rowBounds來實現(xiàn)分頁
*/
@Test
public void testPage3(){
//第一個參數(shù) 是index,開始下標(biāo)
//第二個參數(shù) 是size,每頁顯示記錄數(shù)
RowBounds bounds = new RowBounds(3, 3);
List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findAll", null,bounds);
for(Role r:list){
System.out.println(r.getName());
}
}
注意:通常情況下使用 Map 傳參來實現(xiàn)分頁
模糊查詢
映射文件:
<select id="selectLike" parameterType="string" resultType="Role">
select *from t_role where name like #{name}
</select>
測試代碼:
/**
* 模糊查詢
*/
@Test
public void testLike1(){
List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.selectLike","%會員");
for(Role r:list){
System.out.println(r.getName());
}
}
第二種方式:
<select id="selectLike1" parameterType="string" resultType="Role">
select *from t_role where name like concat(#{name},'%');
</select>
測試代碼:
/**
* 模糊查詢
*/
@Test
public void testLike2(){
List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.selectLike1","黃");
for(Role r:list){
System.out.println(r.getName());
}
}
注意:通常使用第二種方式實現(xiàn)模糊查詢
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決spring boot hibernate 懶加載的問題
這篇文章主要介紹了解決spring boot hibernate 懶加載的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Java數(shù)據(jù)結(jié)構(gòu)之圖的基礎(chǔ)概念和數(shù)據(jù)模型詳解
在現(xiàn)實生活中,有許多應(yīng)用場景會包含很多點以及點點之間的連接,而這些應(yīng)用場景我們都可以用即將要學(xué)習(xí)的圖這種數(shù)據(jù)結(jié)構(gòu)去解決。本文主要介紹了圖的基礎(chǔ)概念和數(shù)據(jù)模型,感興趣的可以了解一下2022-11-11
SpringBoot+MinIO實現(xiàn)對象存儲的示例詳解
MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務(wù),它是一個非常輕量的服務(wù),可以很簡單的和其他應(yīng)用的結(jié)合,所以下面我們就來看看SpringBoot如何整合MinIO實現(xiàn)對象存儲吧2023-10-10

