IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Java用Maybtis调用Oracle的存储过程(返回游标) -> 正文阅读

[大数据]Java用Maybtis调用Oracle的存储过程(返回游标)

例如连接如下数据库

数据库连接字符串:
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.220.4.156)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DATACENTER)
    )
  )

表名
/*获取指定时间段内更新的0231C、0235C编码集*/
  datadba.unv_he_di_pkg.unv_get_prod_items(p_start_date in date,
                               p_end_date   in date,
                               p_result     out cur_data);--游标

第一步:配置数据库连接

# 配置 oracle
        oracle:
          url: jdbc:oracle:thin:@10.220.4.156:1521/DATACENTER
          username: RD_HE
          password: rdpehe*123987.
          driver-class-name: oracle.jdbc.driver.OracleDriver

第二步:导入pom依赖

<!--oracle-->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.1.0</version>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
        </dependency>

第三步:实现

xml类

<!--获取指定时间段内更新的0231C、0235C编码集-->
    <select id="selectCodeSetByTime" statementType="CALLABLE" parameterType="map" resultMap="指定映射类的id">
        {call datadba.unv_he_di_pkg.unv_get_prod_items(
                        #{p_start_date,mode=IN,jdbcType=DATE},
                        #{p_end_date,mode=IN,jdbcType=DATE},
                        #{p_result,mode=OUT,jdbcType=CURSOR,javaType=ResultSet,resultMap = CodeSetByTimeMap}
        )}
    </select>
Mapper层

/**
     * 获取指定时间段内更新的0231C、0235C编码集
     * @param map
     * @return
     */
    ArrayList<CodeSet> selectCodeSetByTime(HashMap<String, Object> map);
service层

ArrayList<CodeSet> selectCodeSetByTime(HashMap<String, Object> map);
Impl层
@Override
    @DS("oracle")
    public ArrayList<CodeSet> selectCodeSetByTime(HashMap<String, Object> map) {
        return storedProcedureMapper.selectCodeSetByTime(map);
    }
		HashMap<String, Object> map = new HashMap<>();
		Date date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss").parse("2022-04-19 00:00:00.000");
		Date date2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss").parse("2022-04-22 00:00:00.000"); map.put("p_start_date", date1);
		map.put("p_end_date", date2);
		storedProcedureService.selectCodeSetByTime(map);
		List<CodeSet> o = (List<CodeSet>) map.get("p_result");

        后续根据对应的实体类就可以获得对用的数据
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:06:45  更:2022-05-06 11:08:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:30:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码