当前位置: 首页 > wzjs >正文

郴州市网站建设友链交换网站源码

郴州市网站建设,友链交换网站源码,网站做数据统计,青岛app制作以下是一个使用 .NET Core API 连接 MySQL 数据库实现简单记事本功能的完整示例,包含创建、读取、更新和删除(CRUD)操作。 1. 创建 .NET Core Web API 项目 首先,打开命令行工具,使用以下命令创建一个新的 .NET Core…

以下是一个使用 .NET Core API 连接 MySQL 数据库实现简单记事本功能的完整示例,包含创建、读取、更新和删除(CRUD)操作。

1. 创建 .NET Core Web API 项目

首先,打开命令行工具,使用以下命令创建一个新的 .NET Core Web API 项目:

dotnet new webapi -n NotePadAPI
cd NotePadAPI

2. 安装 MySQL 数据库驱动

在项目目录下,使用以下命令安装 MySQL 数据库驱动:

dotnet add package MySqlConnector

3. 配置数据库连接字符串

打开 appsettings.json 文件,添加 MySQL 数据库连接字符串:

{"ConnectionStrings": {"DefaultConnection": "Server=localhost;Database=notepad;Uid=your_username;Pwd=your_password;"},"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*"
}

请将 your_usernameyour_password 替换为你的 MySQL 用户名和密码。

4. 创建数据库和表

在 MySQL 中创建一个名为 notepad 的数据库,并创建一个名为 notes 的表:

CREATE DATABASE notepad;USE notepad;CREATE TABLE notes (id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,content TEXT NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

5. 创建数据模型

Models 文件夹下创建 Note.cs 文件:

using System;namespace NotePadAPI.Models
{public class Note{public int Id { get; set; }public string Title { get; set; }public string Content { get; set; }public DateTime CreatedAt { get; set; }}
}

6. 创建数据库上下文

Data 文件夹下创建 NoteContext.cs 文件:

using Microsoft.Data.SqlClient;
using MySqlConnector;
using NotePadAPI.Models;
using System.Collections.Generic;
using System.Data;namespace NotePadAPI.Data
{public class NoteContext{private readonly string _connectionString;public NoteContext(string connectionString){_connectionString = connectionString;}public List<Note> GetAllNotes(){var notes = new List<Note>();using (var connection = new MySqlConnection(_connectionString)){var query = "SELECT * FROM notes";var command = new MySqlCommand(query, connection);connection.Open();var reader = command.ExecuteReader();while (reader.Read()){notes.Add(new Note{Id = reader.GetInt32("id"),Title = reader.GetString("title"),Content = reader.GetString("content"),CreatedAt = reader.GetDateTime("created_at")});}reader.Close();}return notes;}public Note GetNoteById(int id){using (var connection = new MySqlConnection(_connectionString)){var query = "SELECT * FROM notes WHERE id = @id";var command = new MySqlCommand(query, connection);command.Parameters.AddWithValue("@id", id);connection.Open();var reader = command.ExecuteReader();if (reader.Read()){return new Note{Id = reader.GetInt32("id"),Title = reader.GetString("title"),Content = reader.GetString("content"),CreatedAt = reader.GetDateTime("created_at")};}reader.Close();}return null;}public void CreateNote(Note note){using (var connection = new MySqlConnection(_connectionString)){var query = "INSERT INTO notes (title, content) VALUES (@title, @content)";var command = new MySqlCommand(query, connection);command.Parameters.AddWithValue("@title", note.Title);command.Parameters.AddWithValue("@content", note.Content);connection.Open();command.ExecuteNonQuery();}}public void UpdateNote(Note note){using (var connection = new MySqlConnection(_connectionString)){var query = "UPDATE notes SET title = @title, content = @content WHERE id = @id";var command = new MySqlCommand(query, connection);command.Parameters.AddWithValue("@title", note.Title);command.Parameters.AddWithValue("@content", note.Content);command.Parameters.AddWithValue("@id", note.Id);connection.Open();command.ExecuteNonQuery();}}public void DeleteNote(int id){using (var connection = new MySqlConnection(_connectionString)){var query = "DELETE FROM notes WHERE id = @id";var command = new MySqlCommand(query, connection);command.Parameters.AddWithValue("@id", id);connection.Open();command.ExecuteNonQuery();}}}
}

7. 创建控制器

Controllers 文件夹下创建 NotesController.cs 文件:

using Microsoft.AspNetCore.Mvc;
using NotePadAPI.Data;
using NotePadAPI.Models;
using System.Collections.Generic;namespace NotePadAPI.Controllers
{[ApiController][Route("api/[controller]")]public class NotesController : ControllerBase{private readonly NoteContext _context;public NotesController(NoteContext context){_context = context;}[HttpGet]public ActionResult<IEnumerable<Note>> GetAllNotes(){var notes = _context.GetAllNotes();return Ok(notes);}[HttpGet("{id}")]public ActionResult<Note> GetNoteById(int id){var note = _context.GetNoteById(id);if (note == null){return NotFound();}return Ok(note);}[HttpPost]public ActionResult<Note> CreateNote(Note note){_context.CreateNote(note);return CreatedAtAction(nameof(GetNoteById), new { id = note.Id }, note);}[HttpPut("{id}")]public IActionResult UpdateNote(int id, Note note){if (id != note.Id){return BadRequest();}_context.UpdateNote(note);return NoContent();}[HttpDelete("{id}")]public IActionResult DeleteNote(int id){_context.DeleteNote(id);return NoContent();}}
}

8. 配置服务

打开 Program.cs 文件,配置数据库上下文:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using NotePadAPI.Data;var builder = WebApplication.CreateBuilder(args);// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();// Configure database context
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
builder.Services.AddSingleton(new NoteContext(connectionString));var app = builder.Build();// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{app.UseSwagger();app.UseSwaggerUI();
}app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();

9. 运行项目

在命令行中运行以下命令启动项目:

dotnet run

10. 测试 API

你可以使用 Postman 或其他 API 测试工具来测试以下接口:

  • 获取所有笔记GET http://localhost:5000/api/notes
  • 获取单个笔记GET http://localhost:5000/api/notes/{id}
  • 创建笔记POST http://localhost:5000/api/notes,请求体为 JSON 格式的笔记信息。
  • 更新笔记PUT http://localhost:5000/api/notes/{id},请求体为 JSON 格式的更新后的笔记信息。
  • 删除笔记DELETE http://localhost:5000/api/notes/{id}

通过以上步骤,你就可以实现一个简单的记事本 API,使用 .NET Core 连接 MySQL 数据库进行数据的 CRUD 操作。

http://www.dtcms.com/wzjs/266050.html

相关文章:

  • 余姚物流做网站下载百度app最新版到桌面
  • 广州网站建设外包公司福清市百度seo
  • 一二三类医疗器械目录seo网站诊断
  • 济南网站建设jnjy8百度竞价点击神器奔奔
  • 电商平台建设做网站谷歌官网
  • fullpage.js wordpress优化推广网站推荐
  • 龙岗平湖网站建设公司竞价外包推广专业公司
  • 免费网站下载直播软件大全苏州网站排名推广
  • 网站制作二级网页怎么做秦洁婷seo博客
  • 网站开发 模块化2023新闻大事件摘抄
  • 长沙做网站建设价格游戏代理是怎么赚钱的如何代理游戏
  • 网站改版不更换域名 .net怎么做301网站重定向50个市场营销经典案例
  • 武汉做网站hlbzx外贸网络推广怎么做
  • 校园网站建设方案新闻发稿发布平台
  • 漯河做网站哪家好网站点击量与排名
  • 电商网站建设目标分析的方法推广公司是做什么的
  • 苏州网站建设推广咨询平台百度正式员工工资待遇
  • 企业建网站服务网络广告策划方案范文
  • 做网站去哪找源码百度搜索资源平台官网
  • 松江做网站费用武汉seo优化排名公司
  • 网站怎么做微信推广潍坊网站建设seo
  • 河北邢台做wap网站郑州seo优化推广
  • 亚马逊网站建设评述百度指数app官方下载
  • 嘉兴建设教育网站培训中心网站公司网站设计制作
  • 郑州官网网站优化公司合肥seo优化排名公司
  • 网站建设费的账务处理willfast优化工具下载
  • 企业对做营销型网站有什么优势百度游戏排行榜
  • 手机怎么免费建设网站网络推广怎样做
  • 武汉建站系统seo网络优化是做什么的
  • 如何在国外网站做翻译兼职做app找什么公司