91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

在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

淮滨县| 江孜县| 阿克陶县| 苍山县| 房产| 丰都县| 普兰店市| 北碚区| 札达县| 五原县| 威远县| 肃北| 呼伦贝尔市| 贞丰县| 繁昌县| 鹿邑县| 德保县| 礼泉县| 商洛市| 类乌齐县| 澄城县| 黎平县| 清丰县| 泰和县| 秦皇岛市| 滨海县| 喀喇| 郧西县| 大同县| 扶绥县| 文水县| 仲巴县| 拜泉县| 舞阳县| 晋宁县| 阳信县| 连山| 安徽省| 邵东县| 合江县| 山阴县|