网络编程
位置:首页>> 网络编程>> 数据库>> mysql批量插入BulkCopy的实现

mysql批量插入BulkCopy的实现

作者:大熊程序猿  发布时间:2024-01-28 14:53:12 

标签:mysql,批量插入,BulkCopy

一、新建项目:SqlSugarDemo

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

二、连接串未添加AllowLoadLocalInfile=true

mysql批量插入BulkCopy的实现

中文提示 : 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的实现

来源:https://blog.csdn.net/xiaoxionglove/article/details/129270945

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com