C#-前后端分离连接mysql数据库封装接口

C#是世界上最好的语言

新建项目 如下图所示选择框红的项目

然后新建 文件夹 Common 并新建类文件 名字任意 文件内容如下 因为要连接的是mysql数据库 所以需要安装 MySql.Data.MySqlClient 依赖;

csharp 复制代码
using MySql.Data.MySqlClient;
using System.Data;



namespace WebApplication1.Common
{
    public class SqlHelp
    {
        //public static string ConStr { get; set; }
        public static DataTable ExecuteTable(string cmdText)
        {
            using (MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=mynodedata;username=root;password=123456;"))
            {
                con.Open();
                MySqlCommand cmd = new MySqlCommand(cmdText, con);
                MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                return ds.Tables[0];
                // 取数据
            }
        }
    }
}

然后新建 Models 文件夹 并新建类 类名任意 文件内容如下

csharp 复制代码
using WebApplication1.Common;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Numerics;

namespace WebApplication1.Models
{
    public class user
    {
        public Int64 id { get; set; }
        public String name { get; set; }
        public String password { get; set; }
        public String loginname { get; set; }
        public String mobie { get; set; }
        public String role { get; set; }

        public static List<user> GetTextList()
        {
          
            DataTable dt = SqlHelp.ExecuteTable("select * from user");
            List<user> scc1 = new List<user>();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                scc1.Add(ToModel(dt.Rows[i]));
            }
            Console.WriteLine(1111);

            return scc1;
        }

        private static user ToModel(DataRow dr)
        {
            // 下面后面的数据都是取自数据库
            user scc = new user();
            scc.id = (Int64)dr["id"];
            scc.name = dr["name"].ToString();
            scc.password = dr["password"].ToString();
            scc.loginname = dr["loginname"].ToString();
            scc.mobie = dr["mobie"].ToString();
            scc.role = dr["role"].ToString();
            return scc;
        }
    }
}

然后在系统自带的Controllers文件夹上新建 api控制类 文件代码如下

csharp 复制代码
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using WebApplication1.Models;

namespace WebApplication1.Controllers
{
    [EnableCors("any")]// 添加 跨域名【在同一台电脑上面端口不一样也属于跨域】
    [Route("api/[controller]/[action]")]// 后面添加 /[action] 下面是具体写到方法名
    [ApiController]
    public class usermyController : ControllerBase
    {
        [HttpGet]
        public List<user> GetTest01()
        {
            List<user> scc01 = user.GetTextList();
            return scc01;
        }
    }
}

然后需要改一点系统自带的文件Program.cs 标红的部分代码添加进去

代码如下

csharp 复制代码
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddCors(o => o.AddPolicy("any", p => p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();
app.UseRouting();

app.UseCors("any");
app.UseAuthorization();

app.UseEndpoints(endpoints =>{
    endpoints.MapControllers();
});

app.Run();

然后运行项目 API 文档和测试文件

跨域测试

C#是世界上最好的语言

相关推荐
dazhong201239 分钟前
PLSQL 客户端连接 Oracle 数据库配置
数据库·oracle
苹果醋32 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li3 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
Java Fans3 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手3 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
别致的影分身3 小时前
使用C语言连接MySQL
数据库·mysql
过过过呀Glik4 小时前
在 Ubuntu 上安装 MySQL 的详细指南
mysql·ubuntu
鲤籽鲲4 小时前
C# Random 随机数 全面解析
android·java·c#