1. 程式人生 > >Mysql分頁查詢

Mysql分頁查詢

        最近公司安卓專案少,正好有幾個javaweb專案可以做。公司又缺人手,所以就分到了java專案上。

        這個專案是個快遞系統,因為專案中設計到很多sql語句的查詢,有些和android的sql語句不太一樣。所以就把專案中用到的sql語句記下來,畢竟好記性不如爛筆頭。     

        在寫程式碼之前先介紹一下專案的環境,專案使用的框架是springmvc、spring、mybatis。使用mybatis可以生成modle實體類,以及一些簡單的增刪改查語句。

        java部分程式碼,因為方法中會用到一些欄位,所以就模擬一些

        @Responsebody

        @RequestMapping("/XXX.do")

        public void XXX(ModelMap model ,HttpServletRequest request,HttpServletResponse response) {

                int beginIndex_Int = -1;

                int pageSize_Int = 0;

                // 在這裡取出需要分頁的起始索引以及每頁的資料量

                String beginIndex = request.getparameter("beginIndex");

                String pageSize = request.getParameter("pageSize");

               // 因為資料庫在分頁的時候查詢索引和數量不支援字串,所以需要轉換成int型

                if(beginIndex != null){

                        beginIndex_Int = Integer.ParseInt(beginIndex);

                }

                if(pageSize != null){

                        pageSize_Int = Integer.parseInt(pageSize);

                }

                Map<String,Object> map = new HashMap<String,Object>();

                // 把頁數和數量放到map集合中

                map.put("beginIndex",beginIndex_Int);

                map.put("pageSize","pageSize_Int");

                // 把map作為引數傳到Mapper檔案中去

                XXX(map);

        }

    sql語句的寫法:

    <select  id = "XXX(方法名)"  parameterType = "hashmap" resultMap = "BaseResultMap">

             select * from table(寫自己的表名稱)

             where 1 = 1

             order by XX(根據某個欄位排序) desc

            <if test ="beginIndex != null and beginIndex != -1  ">

                     limit #{beginIndex,jdbcType=INTEGER},#{pageSize,jdbcType=INTEGER}

           </if>

    </select>

相關推薦

MySQL查詢優化

插入 hist shel 使用範圍 表優化 方便 歷史 生成器 速度 當需要從數據庫查詢的表有上萬條記錄的時候,一次性查詢所有結果會變得很慢,特別是隨著數據量的增加特別明顯,這時需要使用分頁查詢。對於數據庫分頁查詢,也有很多種方法和優化的點。下面簡單說一下我知道的一些方法。

MySQL查詢效能優化

當需要從資料庫查詢的表有上萬條記錄的時候,一次性查詢所有結果會變得很慢,特別是隨著資料量的增加特別明顯,這時需要使用分頁查詢。對於資料庫分頁查詢,也有很多種方法和優化的點。下面簡單說一下我知道的一些方法。 準備工作 為了對下面列舉的一些優化進行測試,下面針對已有的一張表進行說明。 表名:order

MySQL查詢性能優化

記錄 高並發 分頁查詢 容易 千萬 查詢方式 大數 測試的 業務 當需要從數據庫查詢的表有上萬條記錄的時候,一次性查詢所有結果會變得很慢,特別是隨著數據量的增加特別明顯,這時需要使用分頁查詢。對於數據庫分頁查詢,也有很多種方法和優化的點。下面簡單說一下我知道的一些方法。 準

MySQL-查詢-檢視

分頁查詢 當每次查詢的記錄數比較大,通常一頁顯示不下,此時我們可以進行分頁查詢。 語法:  limit  begin , size;    begin:記錄的開始行數. 偏移量    size:每頁的最大記錄數。 注意:limit後可以是一個引數,一個引數時,指每次最大

mysql查詢優化(索引延遲關聯)

對於web後臺報表匯出是一種常見的功能點,實際對應服務後端即資料庫的排序分頁查詢。如下示例為公司商戶積分報表匯出其中一個sql ,當大批量的匯出請求進入時候,mysql的cpu急劇上升瞬間有拖垮庫的風險。 SELECT * FROM coupons.cp_score_log WHERE

mysql 查詢limit中偏移量offset過大導致效能問題

      在業務中經常會遇到關於分頁的需求,這就會經常會用到MySQL中的limit offset,rows來分段取出每頁中需要的資料。但是當資料量足夠大的時候,limit條件中的偏移量offset越大就越會導致效能問題,導致查詢耗時增加嚴重。先看一下測試:

mysql查詢 和 Pagehelper

2018-11-16 09:51:59,617 DEBUG (BaseJdbcLogger.java:159)- ==>  Preparing: SELECT count(0) FROM user t WHERE t.username LIKE ?  2018-11-1

Mysql查詢limit逗號和offset 區別

SELECT  keyword  FROM  `keywords`  WHERE  id='59' ORDER BY   keyword  LIMIT 2  OFFSET 1; 比如這個SQL ,這裡表示的是從第一條資料(不包括第一條)開始讀取2條資料。 -----

mysql查詢語句怎麼寫?

是用limit函式 取前5條資料 select * from table_name limit 0,5  或者 select * from table_name limit 5  查詢第11到第15條資料 select * from table_name li

Mysql查詢

        最近公司安卓專案少,正好有幾個javaweb專案可以做。公司又缺人手,所以就分到了java專案上。         這個專案是個快遞系統,因為專案中設計到很多sql語句的查詢,有些和android的sql語句不太一樣。所以就把專案中用到的sql語句記下來,畢

Mysql查詢獲取totalCount大幅提升效能的辦法總結

做分頁查詢中,一般情況下需要兩個sql,查當前頁資料 和 查記錄總條數;但後者的查詢結果變化有時候並不大,而且count還佔用了很大一部分的查詢時間;主要是想用一種省時簡便的方法查詢符合條件的記錄總數, 查詢資料使用的sql為: SELECT SUBSTRING

MySQL查詢時獲得總條目數

程式碼如下: SELECT SQL_CALC_FOUND_ROWS * from t_plat_asset_client WHERE id>4 Limit 0,3; SELECT FOUND_ROWS(); 注意: 在navicat中,分兩次查詢時結果錯誤,一直顯示

MySQL查詢 offset

mysql的分頁查詢一直都有個疑問,如果我要查詢第十頁的內容(偏移量offset 90),前面的90條內容在查詢過程中有沒有被查詢過,今天終於找到了答案。 其實mysql是先查詢前10頁(比如前100條),然後把前90條丟棄,返回需要的91到100條資料。資料

java maven mysql查詢

      對與我們的需求來說,有時候查詢的資料比較的多,這時就要用到分頁查詢來實現我們的目的,分頁查詢這種機制對於程式來說還是很重要的。接下來就是分頁查詢的具體實現方法,用的是PageHelper的框架!感覺挺好的,也很簡單!       首先要先新增jar包,在pom.

mysql查詢語句

分頁需求: 前端通過傳遞start(頁碼),limit(每頁顯示的條數)兩個引數去分頁查詢資料庫表中的資料,MySql資料庫提供了分頁的函式limit m,n,其中m的引數是從第幾條記錄開始,n

資料庫學習--mysql 查詢語句

 單條 SQL 語句的分頁 SQL 方法1: 適用於 SQL Server 2000/2005 SELECT TOP 頁大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 頁大小*(頁數-1) id FROM table1 ORD

mysql 查詢時,如何正確的獲取總數

分享 ont .cn 還需 ref cal 一次 mage img 原文:mysql 分頁查詢時,如何正確的獲取總數1. 普遍方法: 使用 COUNT(*) ,例如: SELECT COUNT(*) as total FROM studentTask WHERE s

SpringMVC+Mybatis實現的Mysql數據查詢

space round nbsp sub hid append app return utf   周末這天手癢,正好沒事幹,想著寫一個分頁的例子出來給大家分享一下。   這個案例分前端和後臺兩部分,前端使用面向對象的方式寫的,裏面用到了一些回調函數和事件代理,有興趣的朋友可

mysql sql查詢語句

mysql select body from 記錄 condition rom col mysq SELECT * FROM ‘table‘ ORDER BY ‘condition‘ DESC LIMIT ‘開始索引‘,‘記錄數‘ mysql sql分頁查詢語句

MySQL、Oracle查詢

del count app spa pos per mail 分頁 request mysql分頁 需用到的參數: pageSize 每頁顯示多少條數據 pageNumber 頁數 從客戶端傳來 totalRecouds 表中的總記錄數 s