mybatisplus 一次性执行多条SQL语句插入(Mysql篇)
文章目录
- 一、数据库部分
- 1. 创建数据库
- 2. 初始化表结构
- 二、代码部分
- 2.1. controller
- 2.2. mapper接口
- 2.3. 映射文件
- 2.4. 参数封装
- 三、测试验证
- 3.1. 发起请求
- 3.2. 查看数据库
- 3.3. 配置文件部分
一、数据库部分
1. 创建数据库
创建more-insert
2. 初始化表结构
-- 一次性插入多张表测试
--mysql 表结构
CREATE TABLE `sys_user2`
(`user_id` bigint NOT NULL COMMENT '主键id',`account` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '账号',`name` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '名字',PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC COMMENT='管理员表2';
CREATE TABLE `sys_user5`
(`user_id` bigint NOT NULL COMMENT '主键id',`account` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '账号',`name` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '名字',PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC COMMENT='管理员表5';
二、代码部分
声明:这里为了演示省略service层
2.1. controller
package com.gblfy.modular.order.controller;import com.gblfy.modular.order.mapper.MysqlMoreInsertMapper;
import com.gblfy.modular.order.model.request.MysqlMoreInsertParam;
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 MysqlMoreInsertMapper mysqlmoreInsert;@GetMapping("/mysqlMoreInsert")public String mysqlMoreInsert() {MysqlMoreInsertParam moreInsertParam = new MysqlMoreInsertParam();moreInsertParam.setUserId2(2L);moreInsertParam.setAccount2("Account2");moreInsertParam.setName2("name2");moreInsertParam.setUserId5(5L);moreInsertParam.setAccount5("Account5");moreInsertParam.setName5("name5");mysqlmoreInsert.mysqlmoreInsert(moreInsertParam);return "SUCCESS";}
}
2.2. mapper接口
package com.gblfy.modular.order.mapper;import com.gblfy.modular.order.model.request.MysqlMoreInsertParam;
import org.apache.ibatis.annotations.Param;/*** <p>* 英雄信息表通用 Mapper 接口* </p>** @author gblfy* @since 2021-08-13*/
public interface MysqlMoreInsertMapper {void mysqlmoreInsert(@Param("paramCondition") MysqlMoreInsertParam paramCondition);}
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.MysqlMoreInsertMapper"><insert id="mysqlmoreInsert" parameterType="com.gblfy.modular.order.model.request.MysqlMoreInsertParam">insert into sys_user2(user_id, account, name)values (#{paramCondition.userId2}, #{paramCondition.account2}, #{paramCondition.name2});insert into sys_user5(user_id, account, name)values (#{paramCondition.userId5}, #{paramCondition.account5}, #{paramCondition.name5});</insert>
</mapper>
2.4. 参数封装
package com.gblfy.modular.order.model.request;import lombok.Data;import java.io.Serializable;/*** <p>* Mysql通用对象* </p>** @author gblfy* @since 2021-08-13*/
@Data
public class MysqlMoreInsertParam implements Serializable {private static final long serialVersionUID = 1L;private Long userId2;private String account2;private String name2;private Long userId5;private String account5;private String name5;
}
三、测试验证
3.1. 发起请求
http://localhost/mysqlMoreInsert
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语句插入(Mysql篇)相关推荐
- mybatisplus 一次性执行多条SQL语句插入(Oracle篇)
文章目录 一.数据库部分 1. 创建数据库 2. 初始化表结构 二.代码部分 2.1. controller 2.2. mapper接口 2.3. 映射文件 2.4. 参数封装 三.测试验证 3.1. ...
- mybatisplus 一次性执行多条SQL语句
文章目录 一.Mysql数据库 1. Url 2. xml映射文件 二.Oracle数据库 2.1. 关键点 2.2. xml映射文件 一.Mysql数据库 关键点:在url后面添加&allo ...
- oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句
有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的 解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel ...
- c#执行多句oracle,C#一次执行多条SQL语句,Oracle11g数据库
由于经常执行SQL语句,如果一条一条执行效率低下. oarclecmd.CommandText = sqlstr; oraclecmd.ExecuteNonQuery(); sqlstr 可以写成如下 ...
- 执行多条SQL语句,执行数据库事务(可传入Sql参数)
上篇博客,实例介绍了一个事务执行多条SQL语句函数(int ExecuteSqlTran(List<String> SQLStringList))点击打开链接,方便之余又发现了它的缺陷-- ...
- python执行mysql多个sql语句_mysql -- 一次执行多条sql语句
最近要做一个软件升级,其中涉及到数据库表字段的变动(新增或删除或修改),所有的关于数据库的变动的sql语句都是存放在Sqlupdate.sql文件中,每次升级的时候都需要执行一次Sqlupdate.s ...
- mysql数据库会同时执行sql吗_mysql 一次执行多条sql语句
最近要做一个软件升级,其中涉及到数据库表字段的变动(新增或删除或修改),所有的关于数据库的变动的sql语句都是存放在Sqlupdate.sql文件中,每次升级的时候都需要执行一次Sqlupdate.s ...
- 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...
- C#(.net)中的一次连接数据库执行多条sql语句
第一种方法: string str="server=.;uid=sa;pwd=111111;database=text_db";//连接字符串 SqlConnection SCON ...
最新文章
- 为“证明实力”,某医院前网管离职后远程入侵服务器,致诊疗系统瘫痪
- C#正则实现匹配一块代码段
- 如何用增长的思维做提效?
- 常见Linux面试题总结
- 计算机网络自顶向下方法【七】——链路层
- python字典嵌套字典的情况下获取某个key的value
- JDBC初学者的basedao工具类
- 微软为 Java 开发者推出 VSCode 安装程序
- HTTP Keep-Alive的作用
- 安卓文件操作全解:内部文件、公共文件、私有文件、app静态文件
- 一心想斩获算法岗,却碰上最难求职季
- 【转】Windows Error code (Windows错误码说明)
- js浏览器的打印和去除页眉和页脚
- python爬取58同城租房信息,用selenium爬取58同城租房信息(万级数据)
- 网易笔试001(HR之声)
- Linux系统开机显示BusyBox v1.22.1 built-in shell(ash) 解决方法
- Linux线程数和系统线程数查看
- dw2019连接mysql数据库_VS 2019 连接MySQL数据库配置记录
- vba随机抽取人名不重复_VBA编程实现不重复随机数输出
- WPF 在同一窗口区域实现多界面切换