C#连接MySql数据库 (ASP.NET API)

main方法调用连接

using System;

using MySql.Data.MySqlClient;

class Program

{

static void Main(string\[\] args)

{

string connectionString = "server=localhost;database=***;username=***;password=****";

using (MySqlConnection connection = new MySqlConnection(connectionString))

{

//try

//{

// connection.Open();

// // 执行数据库操作

// Console.WriteLine("连接成功!");

//}

//catch (MySqlException ex)

//{

// Console.WriteLine("数据库连接失败: " + ex.Message);

//}

try

{

connection.Open();

string query = "SELECT * FROM aaa";

MySqlCommand cmd = new MySqlCommand(query, connection);

MySqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())

{

Console.WriteLine(reader"SHORI_NEN".ToString());

}

reader.Close();

}

catch (Exception ex)

{

Console.WriteLine(ex.ToString());

}

connection.Close();

}

}

}

上面是练习 下面是api重点哦

1.Program.cs 文件添加

添加对配置文件的引用

//builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

配置连接字符串

//var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");

添加数据库上下文服务

//builder.Services.AddDbContext<StudentContext>(options =>

// options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString))

//);

或者

builder.Services.AddDbContext<StudentContext>(options =>

options.UseMySql(builder.Configuration.GetConnectionString("DefaultConnection"), new MySqlServerVersion(new Version())));

主要是引入json文件

2.appsettings.json

"ConnectionStrings": {

"DefaultConnection": "server=localhost;database=****;username=*****;password=******"

},

Program里的"DefaultConnection"要和json一致哦

这时候就已经配置好连接了

3.新建Moudels 文件夹

创建学生Student

namespace TodoApi.Models

{

public class Student

{

Key

public int Id { get; set; }

//大小写都可以 带下划线的需要和数据库一致 也可以配置(自己百度)

public string Name { get; set; } = String.Empty;

public string Age { get; set; } = String.Empty;

}

}

数据库记得建表

CREATE TABLE `student` (

`Id` int NOT NULL COMMENT 'OID',

`Name` varchar(2) NOT NULL COMMENT '名称',

`Age` varchar(1) NOT NULL COMMENT '年龄'

)

4.创建StudentContext文件

using Microsoft.EntityFrameworkCore;

using WebApplication777.Models;

namespace TodoApi.Models

{

public class StudentContext : DbContext

{

public StudentContext(DbContextOptions<StudentContext> options) : base(options)

{

}

public DbSet<Student> Students { get; set; }

public DbSet<MsgMst> MsgMsts { get; set; }

//OnModelCreating ToTable为了映射数据库

protected override void OnModelCreating(ModelBuilder modelBuilder)

{

//entity(自己的表) ToTable (填写数据库的名字)

modelBuilder.Entity<Student>().ToTable("student");

modelBuilder.Entity<MsgMst>().ToTable("msg_mst");

}

}

}

5.controller

建立StudentController

using Microsoft.AspNetCore.Mvc;

using TodoApi.Models;

using WebApplication777.Models;

namespace TodoApi.Controllers

{

Route("api/\[controller\]")

ApiController

public class StudentController : ControllerBase

{

private readonly StudentContext _context;

public StudentController(StudentContext context)

{

_context = context;

}

HttpGet("{id}")

public async Task<ActionResult<Student>> Get(int id)

{

var studentsId = await _context.Students.FindAsync(id);

if (studentsId == null)

{

return NotFound();

}

return studentsId;

}

}

}

这时候就可以查询数据库啦

记得点赞哈

第一次学c#

相关推荐
星恒随风12 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
吴名氏.14 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
爱码少年15 小时前
Springboot下如何将CSV文件数据导入H2、Mysql数据库表
数据库·mysql·csv
可乐ea16 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
阿义有问题17 小时前
MySQL 迁移达梦全流程实战:DTS 七步图解 + 对象名全大写适配(附踩坑清单)
数据库
用户37215742613517 小时前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#
寂寞的船18 小时前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
猫猫不是喵喵.19 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
lsc_blog20 小时前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
墨痕诉清风21 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库