一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳述 DB2 分頁查詢及 Java 實現的示例

詳述 DB2 分頁查詢及 Java 實現的示例

2021-01-03 14:44維C果糖 Java教程

本篇文章主要介紹了詳述 DB2 分頁查詢及 Java 實現的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

博主說:有時候,我們需要對數據庫中現有的數據進行大量處理操作(例如表中的某個字段需要全部更新等),如果直接使用select * from tableName很容易出現問題,因此我們可以選擇分頁查詢,批量處理數據。

DB2

  • startNum:起始數
  • endNum:結尾數

SQL 語句?

?
1
2
3
4
5
6
7
8
SELECT * FROM
(
SELECT B.*, ROWNUMBER() OVER() AS TN FROM
(
SELECT * FROM 表名
) AS B
) AS A
WHERE A.TN BETWEEN startNum AND endNum;

如上所示,此即為 DB2 的分頁查詢語句。

Mapper

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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.hit.store.dao.StoreEntityDao" >
 <resultMap id="BaseResultMap" type="StoreEntity" >
  <id column="ID" property="id" jdbcType="BIGINT" />
  <result column="CREATE_TIME" property="createTime" jdbcType="TIMESTAMP" />
  <result column="OWNER" property="owner" jdbcType="VARCHAR" />
  <result column="DESCRIPTION" property="description" jdbcType="VARCHAR" />
 </resultMap>
 
 <select id="query4encrypt" parameterType="Map" resultMap="BaseResultMap">
  <!--- 在映射文件中 SQL 語句末尾不應該加分號,防止解析錯誤 --->
  SELECT * FROM
  (
  SELECT B.*, ROWNUMBER() OVER() AS TN FROM 
  (
  SELECT * FROM TBL_STORE
  ) AS B
  ) AS A
  WHERE A.TN BETWEEN #{startNum} AND #{endNum}
 </select>
</mapper>

Java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
 * Dao 層代碼
 */
@Repository("storeEntityDao")
public interface StoreEntityDao {
  List<StoreEntity> query4encrypt(Map<String, Object> paramMap);
}
 
/**
 * Service 層接口代碼
 */
public interface StoreEntityService {
  public void query4encrypt();
}
 
/**
 * Service 層實現代碼
 */
@Service("storeEntityService")
public interface StoreEntityServiceImpl implements StoreEntityService {
   @Override
  public void query4encrypt() {
    boolean flag = true;
    Long startNum = 0L;
    Long endNum = 0L;
    Map<String, Object> paramMap = new HashMap<String, Object>();
    while (flag) {
      endNum = startNum + 100;
      paramMap.put("startNum", startNum);
      paramMap.put("endNum", endNum);
      List<StoreEntity> storeEntityList = StoreEntityDao.query4encrypt(paramMap);
      if (storeEntityList != null && storeEntityList.size() > 0) {
        // 遍歷加密數據
        for (StoreEntity storeEntity : storeEntityList) {
          // 加密及持久化處理
        }
      }
      if (storeEntityList != null && storeEntityList.size() >= 100) {
        startNum = endNum++;
      } else {
        flag = false;
      }
    }
  }
}

至此,我們模擬了數據庫映射 Mapper.xml 文件、Dao 層和 Service 層,并在 Mapper.xml 中書寫了分頁查詢 SQL 語句。特別地,在 Service 的實現層中,我們實現了具體的分頁查詢操作,并在其中批量處理數據。

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

原文鏈接:http://blog.csdn.net/qq_35246620/article/details/77922229?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产一区二区三区青草影视 | 成人啪精品视频免费网站 | 国产精品国产色综合色 | 亚色九九九全国免费视频 | 久久精品热在线观看85 | 99视频福利 | 亚洲大片免费看 | 欧美日韩视频在线一区二区 | 成人精品免费网站 | 欧美高清在线 | 欧美又黄又激烈真实床戏 | 国产伦精品一区二区三区女 | 星空传媒在线视频 | 日本亚洲娇小与黑人tube | 国产成人免费视频 | 色偷偷亚洲综合网亚洲 | 精品国产理论在线观看不卡 | 视频一区国产精戏刘婷30 | 99久久er这里只有精品17 | 涩涩屋在线观看 | 44444色视频在线观看 | 国产一二三区视频 | 欧美日韩一区二区三区韩大 | 十八女下面流水不遮免费 | 亚洲国产精品第一页 | 国产另类视频一区二区三区 | free白嫩性hd| 日本男男漫画 | 日本人成大片在线 | 乌克兰bbw| 色小孩导航 | 九九精品免费视频 | 精品久久成人免费第三区 | 国产一区在线 | 人人艹在线视频 | 午夜片无码区在线观看 | 插鸡网站| caoporn超碰 | 狠狠综合视频精品播放 | 玩50岁四川熟女大白屁股直播 | 亚洲区精品久久一区二区三区 |