最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis中oracle實現分頁效果實例代碼

 更新時間:2017年04月24日 11:22:47   作者:濫好人  
實現分頁的方式有很多,但常用的是通過SQL來顯示分頁。這篇文章主要介紹了mybatis中oracle實現分頁效果實例代碼,有興趣的可以了解一下。

首先當我們需要通過xml格式處理sql語句時,經常會用到< ,<=,>,>=等符號,但是很容易引起xml格式的錯誤,這樣會導致后臺將xml字符串轉換為xml文檔時報錯,從而導致程序錯誤。

這樣的問題在iBatiS中或者自定義的xml處理sql的程序中經常需要我們來處理。其實很簡單,我們只需作如下替換即可避免上述的錯誤:

原符號  <  <=   > >=   &   '   "
替換符號 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;

數據庫的數據

一、邏輯分頁

接口

package com.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.RowBounds;

import com.model.Student;

public interface StudentMapper {
  /**
   * 分頁查詢
   */
  public List<Student> selectall(RowBounds rb);//需要傳RowBounds 類型的參數

}

配置文件

<?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測試

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() {
    
    //跳過幾行
    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);
    }
  }

}

數據就取出來了

二、物理分頁。

用roacle是數據庫自己的分頁語句分頁

 

接口

package com.dao;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.RowBounds;

import com.model.Student;

public interface StudentMapper {
  
  /**
   * 分頁查詢
   */
  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&lt;=#{param1}*#{param2})tt
    where tt.rownu>(#{param1}-1)*#{param2}
  </select>

 </mapper>

JUnit測試

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() {
    //當前第幾頁 
    Integer offset = 2;
    //每頁行數
    Integer limit = 3;    
    List<Student> st=sm.selectall(offset, limit);
    for(Student tt:st){
      System.out.println(tt);
    }
  }

}

查詢結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java實現字符串倒序輸出的四種方法匯總

    Java實現字符串倒序輸出的四種方法匯總

    這篇文章主要介紹了Java實現字符串倒序輸出的四種方法匯總,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • java GUI編程之布局控制器(Layout)實例分析

    java GUI編程之布局控制器(Layout)實例分析

    這篇文章主要介紹了java GUI編程之布局控制器(Layout),結合實例形式分析了java GUI編程中布局控制器(Layout)具體功能、用法及相關操作注意事項,需要的朋友可以參考下
    2020-01-01
  • 詳解MyBatis的動態(tài)SQL實現原理

    詳解MyBatis的動態(tài)SQL實現原理

    MyBatis提供了強大的動態(tài)SQL語句生成功能,以應對復雜的業(yè)務場景,本篇文章將結合MyBatis解析SQL語句的過程對MyBatis中對<if>,<where>,<foreach>等動態(tài)SQL標簽的支持進行分析,需要的朋友可以參考下
    2023-07-07
  • SpringBoot Scheduling定時任務的示例代碼

    SpringBoot Scheduling定時任務的示例代碼

    springBoot提供了定時任務的支持,通過注解簡單快捷,對于日常定時任務可以使用。本文詳細的介紹一下使用,感興趣的可以了解一下
    2021-08-08
  • HashMap和List遍歷方法及如何遍歷刪除元素總結

    HashMap和List遍歷方法及如何遍歷刪除元素總結

    在本篇文章中小編給大家分享了關于HashMap和List遍歷方法及如何遍歷刪除元素知識點總結,需要的朋友們參考下。
    2019-05-05
  • SpringMVC編程使用Controller接口實現控制器實例代碼

    SpringMVC編程使用Controller接口實現控制器實例代碼

    這篇文章主要介紹了SpringMVC編程使用Controller接口實現控制器實例代碼,具有一定參考價值,需要的朋友可以參考下。
    2017-11-11
  • 解決因jdk版本引起的TypeNotPresentExceptionProxy異常

    解決因jdk版本引起的TypeNotPresentExceptionProxy異常

    這篇文章介紹了解決因jdk版本引起的TypeNotPresentExceptionProxy異常的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • Java程序員常犯的五個錯誤

    Java程序員常犯的五個錯誤

    這篇文章總結以前經驗針對java編程的一些習慣,給出一些關于java編程的建議: 當你開始成為一個程序員的時候,在編程的時候很容易陷入下面所述的一些壞習慣,下面把Java程序員常犯的五個錯誤整理如下,需要的朋友可以參考下
    2015-07-07
  • 使用IDEA搭建Hadoop開發(fā)環(huán)境的操作步驟(Window10為例)

    使用IDEA搭建Hadoop開發(fā)環(huán)境的操作步驟(Window10為例)

    經過三次重裝,查閱無數資料后成功完成hadoop在win10上實現偽分布式集群,以及IDEA開發(fā)環(huán)境的搭建。一步一步跟著本文操作可以避免無數天坑
    2021-07-07
  • Java?@Autowired報錯原因分析和4種解決方案

    Java?@Autowired報錯原因分析和4種解決方案

    這篇文章主要介紹了Java?@Autowired報錯原因分析和4種解決方案,文章圍繞主題展開詳細內容介紹,具有一定的參考價值,需要的小伙伴可以參考以一下
    2022-05-05

最新評論

贡觉县| 赫章县| 肥城市| 遂溪县| 涡阳县| 宝应县| 阳泉市| 临澧县| 隆尧县| 华蓥市| 界首市| 景宁| 尼玛县| 太湖县| 高碑店市| 龙门县| 扎赉特旗| 陆良县| 衡东县| 友谊县| 宜昌市| 垫江县| 德清县| 宽甸| 图们市| 金沙县| 仁布县| 清苑县| 侯马市| 鄂托克旗| 涟水县| 咸丰县| 方城县| 大冶市| 余干县| 会泽县| 江门市| 仪陇县| 衡阳县| 新丰县| 淮南市|