mysql批量插入BulkCopy的实现

 更新时间:2023年03月30日 11:22:18   作者:大熊程序猿  
本文主要介绍了mysql批量插入BulkCopy的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、新建项目:SqlSugarDemo

  <ItemGroup>
    <PackageReference Include="SqlSugarCore" Version="5.1.3.52" />
  </ItemGroup>

二、连接串未添加AllowLoadLocalInfile=true

中文提示 : BulkCopy MySql连接字符串需要添加 AllowLoadLocalInfile=true; 添加后如果还不行Mysql数据库执行一下 SET GLOBAL local_infile=1 
English Message : connection string add : AllowLoadLocalInfile=true

show global variables like 'local_infile';
SET GLOBAL local_infile=1 

 三、Startup.cs

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
 
namespace WebApplication3
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }
 
        public IConfiguration Configuration { get; }
 
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<ISqlSugarClient>(s =>
            {
                SqlSugarScope sqlSugar = new SqlSugarScope(new ConnectionConfig()
                {
                    DbType = SqlSugar.DbType.MySql,
                    ConnectionString = "Server=192.168.31.132;User ID=root;Password=123456;Database=sugar;port=3306;AllowLoadLocalInfile=true",
                    IsAutoCloseConnection = true,
                },
               db =>
               {
                   //单例参数配置,所有上下文生效
                   db.Aop.OnLogExecuting = (sql, pars) =>
                   {
                   };
               });
                return sqlSugar;
            });
 
            services.AddControllersWithViews();
        }
 
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }
            app.UseStaticFiles();
 
            app.UseRouting();
 
            app.UseAuthorization();
 
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
}

HomeController.cs

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using WebApplication3.Models;
 
namespace WebApplication3.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;
        private readonly ISqlSugarClient _sqlSugarClient;
        public HomeController(ILogger<HomeController> logger, ISqlSugarClient sqlSugarClient)
        {
            _logger = logger;
            _sqlSugarClient = sqlSugarClient;
        }
 
        public IActionResult Index()
        {
            _sqlSugarClient.Fastest<RealmAuctionDatum>().BulkCopy(GetList());
            return View();
        }
        public List<RealmAuctionDatum> GetList()
        {
            var datas = new List<RealmAuctionDatum>();
            for (int i = 0; i < 10000; i++)
            {
                datas.Add(new RealmAuctionDatum { Name = Guid.NewGuid().ToString("N") });
            }
            return datas;
        }
    }
}

到此这篇关于mysql批量插入BulkCopy的实现的文章就介绍到这了,更多相关mysql批量插入BulkCopy内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 5.7.13 安装配置方法图文教程(win10)

    mysql 5.7.13 安装配置方法图文教程(win10)

    这篇文章主要为大家分享了mysql 5.7.13 安装配置方法图文教程,感兴趣的朋友可以参考一下
    2016-06-06
  • MySQL的子查询中FROM和EXISTS子句的使用教程

    MySQL的子查询中FROM和EXISTS子句的使用教程

    这篇文章主要介绍了MySQL的子查询中FROM和EXISTS子句的使用教程,子查询是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-12-12
  • MySQL-group-replication 配置步骤(推荐)

    MySQL-group-replication 配置步骤(推荐)

    下面小编就为大家带来一篇MySQL-group-replication 配置步骤(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySQL实现JDBC详细步骤

    MySQL实现JDBC详细步骤

    JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动,本文给大家介绍MySQL实现JDBC详细讲解,感兴趣的朋友一起看看吧
    2022-02-02
  • MySQL和Redis的数据一致性问题

    MySQL和Redis的数据一致性问题

    这篇文章主要介绍了MySQL和Redis的数据一致性问题,下面文章围绕Redis大的相关资料展开详情,需要的小伙伴可以参考一下
    2022-04-04
  • MySQL的多版本并发控制MVCC的实现

    MySQL的多版本并发控制MVCC的实现

    MVCC就是多版本并发控制,本文主要介绍了MySQL的多版本并发控制MVCC的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的

    我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了
    2019-03-03
  • Oracle与MySQL的区别详解

    Oracle与MySQL的区别详解

    MySQL和Oracle Database都是一个关系型数据库管理系统,本文主要介绍了MySQL和Oracle Database的区别及优缺点是什么,感兴趣的小伙伴欢迎阅读
    2023-04-04
  • Mysql 设置boolean类型的操作

    Mysql 设置boolean类型的操作

    这篇文章主要介绍了Mysql 设置boolean类型的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • mysql 5.7.21 解压版通过历史data目录恢复数据的教程图解

    mysql 5.7.21 解压版通过历史data目录恢复数据的教程图解

    本文通过图文并茂的形式给大家介绍了mysql 5.7.21 解压版,通过历史data目录恢复数据的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09

最新评论