mybatisplus 一次性执行多条SQL语句插入(Mysql篇)
生活随笔
收集整理的這篇文章主要介紹了
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篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop集群安装部署_分布式集群安装
- 下一篇: zend连接mysql_zend_db连