mybatisplus 一次性执行多条SQL语句插入(Oracle篇)

文章目录

          • 一、数据库部分
            • 1. 创建数据库
            • 2. 初始化表结构
          • 二、代码部分
            • 2.1. controller
            • 2.2. mapper接口
            • 2.3. 映射文件
            • 2.4. 参数封装
          • 三、测试验证
            • 3.1. 发起请求
            • 3.2. 查看数据库
            • 3.3. 配置文件部分

一、数据库部分
1. 创建数据库

创建more-insert

2. 初始化表结构
-- 一次性插入多张表测试
--oracle 表结构
create table HERO
(SNO       VARCHAR2(20) not null,USER_NAME VARCHAR2(20),AGE       NUMBER(3)
);alter table HEROadd primary key (SNO);create table HERO2
(SNO       VARCHAR2(20) not null,USER_NAME VARCHAR2(20),AGE       NUMBER(3)
);
alter table HERO2add primary key (SNO);
二、代码部分

声明:这里为了演示省略service层

2.1. controller
package com.gblfy.modular.order.controller;import com.gblfy.modular.order.mapper.MysqlMoreInsertMapper;
import com.gblfy.modular.order.model.request.OracleMoreInsertParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class MoreController {@Autowiredprivate OraclelMoreInsertMapper oraclelMoreInsertMapper;@GetMapping("/oracleMoreInsert")public String oracleMoreInsert() {OracleMoreInsertParam oracleMoreInsertParam = new OracleMoreInsertParam();oracleMoreInsertParam.setSno("1");oracleMoreInsertParam.setUserName("Name1");oracleMoreInsertParam.setAge(1);oracleMoreInsertParam.setSno2("2");oracleMoreInsertParam.setUserName2("Name2");oracleMoreInsertParam.setAge2(2);oraclelMoreInsertMapper.oraclelmoreInsert(oracleMoreInsertParam);return "SUCCESS";}
}
2.2. mapper接口
package com.gblfy.modular.order.mapper;import com.baomidou.dynamic.datasource.annotation.DS;
import com.gblfy.modular.order.model.request.OracleMoreInsertParam;
import org.apache.ibatis.annotations.Param;/*** <p>* 通用Mapper 接口* </p>** @author gblfy* @since 2021-08-13*/
@DS("oracle_1")
public interface OraclelMoreInsertMapper {void oraclelmoreInsert(@Param("paramCondition") OracleMoreInsertParam paramCondition);}

mapper类上添加@DS注解是因为我使用了多数据源,不涉及可以删除此注解

2.3. 映射文件
<?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.gblfy.modular.order.mapper.OraclelMoreInsertMapper"><insert id="oraclelmoreInsert" parameterType="com.gblfy.modular.order.model.request.OracleMoreInsertParam">begininsert into hero(SNO, USER_NAME, AGE) values (#{paramCondition.sno}, #{paramCondition.userName}, #{paramCondition.age});insert into hero2(SNO, USER_NAME, AGE) values (#{paramCondition.sno2}, #{paramCondition.userName2}, #{paramCondition.age2});end;</insert></mapper>
2.4. 参数封装
package com.gblfy.modular.order.model.request;import lombok.Data;import java.io.Serializable;/*** oracle演示对象** @author gblfy* @since 2021-08-13*/
@Data
public class OracleMoreInsertParam implements Serializable {private static final long serialVersionUID = 1L;private String sno;private String userName;private Integer age;private String sno2;private String userName2;private Integer age2;
}
三、测试验证
3.1. 发起请求

http://localhost/oracleMoreInsert

3.2. 查看数据库

在这里插入图片描述
在这里插入图片描述

3.3. 配置文件部分
########################################## 多数据源配置 ############################################
spring:datasource:dynamic:primary: master #设置默认的数据源或者数据源组,默认值即为masterstrict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源datasource:master:url: jdbc:mysql://localhost:3306/more-insert?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true&allowMultiQueries=trueusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置filters: wall,mergeStatoracle_1:driver-class-name: oracle.jdbc.OracleDriverurl: jdbc:oracle:thin:@192.168.xxx.xxx:1521:orclusername: orclpassword: orclfilters: wall,mergeStat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践

蚂蚁金服过去十五年&#xff0c;重塑支付改变生活&#xff0c;为全球超过十二亿人提供服务&#xff0c;这些背后离不开技术的支撑。在 2019 杭州云栖大会上&#xff0c;蚂蚁金服将十五年来的技术沉淀&#xff0c;以及面向未来的金融技术创新和参会者分享。我们将其中的优秀演讲…

Seata 与 Nacos注册中心整合实现集群环境搭建_02

接上一篇&#xff1a;Seata 单机环境搭建_01 文章目录一、整体架构二、安装步骤2.1. 创建数据库2.2. 初始化表结构2.3. 修改配置文件2.4. 调整数据库驱动2.5. 修改配置中心三、 启动和验证3.1. 启动nacos3.2. 启动TC Server3.3. 验证高可用一、整体架构 我们来学习部署集群 Se…

趣谈程序员真香定律:源码即设计

来源 | 码砖杂役责编 | Carol封图 | CSDN 付费下载自视觉中国我们经常谈论架构&#xff0c;讨论设计&#xff0c;却甚少关注实现和代码本身&#xff0c;架构和设计固然重要&#xff0c;但要说代码本身不重要&#xff0c;我不同意&#xff0c;Robert C.Martin大叔也不同意&#…

Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议

Nacos是阿里巴巴开源的服务发现与配置管理项目&#xff0c;本次发布的1.1.4版本&#xff0c;主要带来的是与Istio的对接功能&#xff0c;使用的是Istio最新的MCP协议。本文将介绍包括这个功能在内的新版本发布的功能。 升级指南 服务端 0.8.0及以上版本&#xff1a; 解压安…

Seata 与 Nacos Config配置中心整合_03

前言&#xff1a;之前我们只将nacos注册中心和seata进行了整合&#xff0c;如果需要实现完整的功能还需要与nacos的配置中心进行整合。 文章目录一、配置管理1. 创建文件config.txt2. 创建nacos-config.sh3. 配置导入nacos配置中心4. 配置验证一、配置管理 1. 创建文件config.…

牛!阿里云位居中国金融云市场第一

近日&#xff0c;全球权威市场研究机构IDC发布《中国金融云解决方案市场跟踪研究&#xff0c;2019H1》报告&#xff1a;阿里云位居中国金融云解决方案市场第一&#xff0c;并成为市场份额突破两位数的唯一厂商&#xff0c;同比增长超过90%。 IDC统计数据显示&#xff0c;阿里云…

抖音、快手和直播行业的火爆究竟给了谁机会?

经常收到一些CSDN小伙伴的留言&#xff0c;反馈如下这样的困惑“短视频这么火爆&#xff0c;我该学些什么技术才能入行&#xff1f;”“我想从事音视频开发&#xff0c;该如何入门和进阶&#xff1f;真的像坊间传闻的那么难吗&#xff1f;”音视频的开发前景做一个不恰当的比喻…

闲鱼前端基于serverless的一种多端开发解决方案

前端的发展太快了&#xff0c;前端框架和技术的发展也层出不穷&#xff0c;还包括不同智能设备的出现&#xff0c;对前端开发同学来说是个很大的跳转&#xff0c;简单列举下&#xff1a; 前端框架&#xff1a;vue、react、angular小程序&#xff1a;微信小程序、支付宝小程序、…

Seata 的AT模式需求实战_04

接上一篇&#xff1a;Seata 与 Nacos Config配置中心整合_03 模拟下单场景&#xff1a;首先去在自己的本地创建一条下单记录&#xff0c;同时&#xff0c;还要去调用库存服务&#xff0c;执行减库存操作。 文章目录一、数据库部分1. 订单库创建2. 表结构初始化3. 库存数据库创建…

国产数据库技术全面破冰,金融核心系统打破国外巨头垄断指日可待

作者 | 马超责编 | 伍杏玲头图 | CSDN下载自东方IC出品 | CSDN&#xff08;ID:CSDNnews&#xff09; 作为一名金融IT人&#xff0c;打造完全自主掌控的金融核心&#xff0c;是我们心中的梦想。年轻的读者可能不太了解过去金融系统的建设往事&#xff0c;我们一直沿用至2013年的…

Go语言出现后,Java还是最佳选择吗?

阿里妹导读&#xff1a;随着大量新生的异步框架和支持协程的语言(如Go)的出现&#xff0c;在很多场景下操作系统的线程调度成为了性能的瓶颈&#xff0c;Java也因此被质疑是否不再适应最新的云场景了。4年前&#xff0c;阿里JVM团队开始自研Wisp2&#xff0c;将Go语言的协程能力…

为何小程序上线了,他们的内心却留下遗憾?

前言 出于多端投放和开放生态的考虑&#xff0c;闲鱼开始接入整个阿里小程序体系。闲鱼在9月份迅速上线了第一个小程序鱼塘小程序&#xff0c;由于刚接触不熟悉小程序体系&#xff0c;整体性能上有比较大的优化空间&#xff0c;主要表现在以下问题&#xff1a; 小程序加载慢&…

高德亿级流量接入层服务的演化之路

2019杭州云栖大会上&#xff0c;高德地图技术团队向与会者分享了包括视觉与机器智能、路线规划、场景化/精细化定位时空数据应用、亿级流量架构演进等多个出行技术领域的热门话题。现场火爆&#xff0c;听众反响强烈。我们把其中的优秀演讲内容整理成文并陆续发布出来&#xff…

一篇与众不同的 String、StringBuilder 和 StringBuffer 详解

来源 | 程序员 cxuan责编 | Carol封图 | CSDN 付费下载自视觉中国这是一道老生常谈的问题了&#xff0c;字符串是不仅是 Java 中非常重要的一个对象&#xff0c;它在其他语言中也存在。比如 C、Visual Basic、C# 等。字符串使用 String 来表示&#xff0c;字符串一旦被创建出来…

Ververica Platform-阿里巴巴全新Flink企业版揭秘

摘要&#xff1a;2019云栖大会大数据 & AI专场&#xff0c;阿里巴巴资深技术专家王峰带来“Ververica Platform-阿里巴巴全新Flink企业版揭秘”的演讲。本文主要从Ververica由来开始谈起&#xff0c;着重讲了Ververica Platform的四个核心插件App Manager、Libra Service、…

滴滴经验分享:SQLFlow如何让运营专家用上AI?

蚂蚁金服过去十五年&#xff0c;重塑支付改变生活&#xff0c;为全球超过十二亿人提供服务&#xff0c;这些背后离不开技术的支撑。在2019杭州云栖大会上&#xff0c;蚂蚁金服将十五年来的技术沉淀&#xff0c;以及面向未来的金融技术创新和参会者分享。我们将其中的优秀演讲整…

秒杀场景_Sentinel在秒杀场景的应用_05

上一篇解决了在高并发秒杀场景下的超卖问题&#xff0c;这一篇主要解决如何利用Sentinel防止服务器雪崩。 文章目录一、 商品微服务集成Sentinel1. 引入依赖2. 添加配置二、 秒杀微服务集成Sentinel2.1. 引入依赖2.2. 添加配置三、 Sentinel流控规则3.1. 登录Sentinel3.2. 请求…

SQLServer 密码验证登录18456错误解决方案

一、SQLServer18456错误 二、解决方案 第一步&#xff1a;确定这两个服务都是开启状态 &#xff08;1&#xff09;点击管理 &#xff08;2&#xff09;点击服务和应用程序 &#xff08;3&#xff09;确定这两个都是开启状态 &#xff08;4&#xff09;开启方法&#xff0c;右…

80% 的 Java 焦虑,都可以被这张图解决

昨晚&#xff0c;我在路口等车的时候&#xff0c;听到几个人在那讨论问题&#xff1a;“之前我用 jprofiler 监控 jvm 里的对象&#xff0c;当老年代满了&#xff0c;我手动触发一次 fgc&#xff0c;发现只能回收一半&#xff0c;再触发一次&#xff0c;就完全回收&#xff0c;…

直击案发现场!TCP 10倍延迟的真相是?

阿里妹导读&#xff1a;什么是经验&#xff1f;就是遇到问题&#xff0c;解决问题&#xff0c;总结方法。遇到的问题多了&#xff0c;解决的办法多了&#xff0c;经验自然就积累出来了。今天的文章是阿里技术专家蛰剑在工作中遇到的一个问题引发的对TCP性能和发送接收Buffer关系…