亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在mybatis項目中使用oracle如何實現一個分頁效果

發布時間:2020-11-17 16:32:27 來源:億速云 閱讀:287 作者:Leah 欄目:編程語言

在mybatis項目中使用oracle如何實現一個分頁效果?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

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

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

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

數據庫的數據

在mybatis項目中使用oracle如何實現一個分頁效果

一、邏輯分頁

接口

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 類型的參數

}

配置文件

<&#63;xml version="1.0" encoding="UTF-8"&#63;>
<!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);
    }
  }

}

數據就取出來了

在mybatis項目中使用oracle如何實現一個分頁效果

二、物理分頁。

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

在mybatis項目中使用oracle如何實現一個分頁效果 

接口

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 );
  
}

配置文件

<&#63;xml version="1.0" encoding="UTF-8"&#63;>
<!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);
    }
  }

}

查詢結果

在mybatis項目中使用oracle如何實現一個分頁效果

看完上述內容,你們掌握在mybatis項目中使用oracle如何實現一個分頁效果的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

容城县| 安塞县| 囊谦县| 周宁县| 红安县| 梅州市| 方城县| 陈巴尔虎旗| 张家港市| 宁阳县| 建平县| 吴忠市| 邢台县| 沂南县| 江达县| 彰武县| 汝阳县| 新津县| 开化县| 济源市| 天全县| 丁青县| 阿拉尔市| 满洲里市| 上饶市| 嘉祥县| 兰西县| 临清市| 万载县| 平乡县| 正定县| 北京市| 麻阳| 南木林县| 祁阳县| 都昌县| 镇宁| 上虞市| 兴隆县| 英吉沙县| 临泉县|