mybatisplus 一次性执行多条SQL语句插入(Oracle篇)
生活随笔
收集整理的這篇文章主要介紹了
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總結
以上是生活随笔為你收集整理的mybatisplus 一次性执行多条SQL语句插入(Oracle篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信开发者工具:Failed to lo
- 下一篇: Centos/Red Hat6.8 安装