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# 


 

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值