在mybatis項(xiàng)目中使用oracle如何實(shí)現(xiàn)一個(gè)分頁(yè)效果?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)公司專注于肅北網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供肅北營(yíng)銷型網(wǎng)站建設(shè),肅北網(wǎng)站制作、肅北網(wǎng)頁(yè)設(shè)計(jì)、肅北網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造肅北網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供肅北網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
首先當(dāng)我們需要通過(guò)xml格式處理sql語(yǔ)句時(shí),經(jīng)常會(huì)用到< ,<=,>,>=等符號(hào),但是很容易引起xml格式的錯(cuò)誤,這樣會(huì)導(dǎo)致后臺(tái)將xml字符串轉(zhuǎn)換為xml文檔時(shí)報(bào)錯(cuò),從而導(dǎo)致程序錯(cuò)誤。
這樣的問(wèn)題在iBatiS中或者自定義的xml處理sql的程序中經(jīng)常需要我們來(lái)處理。其實(shí)很簡(jiǎn)單,我們只需作如下替換即可避免上述的錯(cuò)誤:
原符號(hào) | < | <= | > | >= | & | ' | " |
替換符號(hào) | < | <= | > | >= | & | ' | " |
數(shù)據(jù)庫(kù)的數(shù)據(jù)
一、邏輯分頁(yè)
接口
package com.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.session.RowBounds; import com.model.Student; public interface StudentMapper { /** * 分頁(yè)查詢 */ public List<Student> selectall(RowBounds rb);//需要傳RowBounds 類型的參數(shù) }
配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dao.StudentMapper"> <select id="selectall" resultType="student" > select * from student </select> </mapper>
JUnit測(cè)試
package com.util; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.session.RowBounds; import org.apache.ibatis.session.SqlSession; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.dao.StudentMapper; import com.model.Student; public class Jtest { private SqlSession ss; private StudentMapper sm; @Before public void setUp() throws Exception { ss=SqlSessionUtil.getSqlSession(); sm=ss.getMapper(StudentMapper.class); } @After public void tearDown() throws Exception { ss.commit(); ss.close(); } @Test public void selectall() { //跳過(guò)幾行 int offset = 3; //取幾行 int limit = 3; RowBounds rb = new RowBounds(offset, limit); List<Student> st=sm.selectall(rb); for(Student tt:st){ System.out.println(tt); } } }
數(shù)據(jù)就取出來(lái)了
二、物理分頁(yè)。
用roacle是數(shù)據(jù)庫(kù)自己的分頁(yè)語(yǔ)句分頁(yè)
接口
package com.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.session.RowBounds; import com.model.Student; public interface StudentMapper { /** * 分頁(yè)查詢 */ public List<Student> selectall(Integer offset, Integer limit ); }
配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dao.StudentMapper"> <select id="selectall" resultType="student"> select * from (select t.*,rownum rownu from STUDENT t where rownum<=#{param1}*#{param2})tt where tt.rownu>(#{param1}-1)*#{param2} </select> </mapper>
JUnit測(cè)試
package com.util; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.session.RowBounds; import org.apache.ibatis.session.SqlSession; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.dao.StudentMapper; import com.model.Student; public class Jtest { private SqlSession ss; private StudentMapper sm; @Before public void setUp() throws Exception { ss=SqlSessionUtil.getSqlSession(); sm=ss.getMapper(StudentMapper.class); } @After public void tearDown() throws Exception { ss.commit(); ss.close(); } @Test public void selectall() { //當(dāng)前第幾頁(yè) Integer offset = 2; //每頁(yè)行數(shù) Integer limit = 3; List<Student> st=sm.selectall(offset, limit); for(Student tt:st){ System.out.println(tt); } } }
查詢結(jié)果
看完上述內(nèi)容,你們掌握在mybatis項(xiàng)目中使用oracle如何實(shí)現(xiàn)一個(gè)分頁(yè)效果的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
名稱欄目:在mybatis項(xiàng)目中使用oracle如何實(shí)現(xiàn)一個(gè)分頁(yè)效果
網(wǎng)頁(yè)地址:http://www.rwnh.cn/article48/gopshp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站排名、營(yíng)銷型網(wǎng)站建設(shè)、外貿(mào)建站、App開(kāi)發(fā)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)