前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库

Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库

作者头像
ccf19881030
发布2024-05-24 12:42:39
1150
发布2024-05-24 12:42:39
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客

Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库

在Windows中使用C#连接Mysql数据库比较简单,可以直接使用MySql.Data库,目前最新版本为:8.3.0。 当然也可以结合MySql.DataDapper库一起使用,目前Dapper的最新版本为:2.1.35。 Dapper是一款轻量级ORM工具,是一个简单的.NET对象映射器,在速度上几乎与使用原始ADO.NET数据读取器的速度一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询数据库,提供了一种简单、高效的方式来执行数据库查询、插入、更新和删除操作。

一、使用Mysql.Data和Dapper来操作Mysql数据库

准备条件: (1)、OS:Windows 10或Windows11 (2)、Visual Stuidio 2022 (3)、MySQL安装包,比如mysql-installer-web-community-8.0.36.0.msi

本文使用的Visual Studio版本是VS2022,MySQL版本为:8.0.36,对应的下载地址为:mysql-installer-web-community-8.0.36.0.msi,并采用C# .Net WinForm窗体程序作为演示示例,我们展示如何使用Mysql.Data和Dapper连接MySql数据库,并查询MySql数据库中对应的people表,然后在窗体程序中输入字段LastName来查询对应的数据,鼠标按下search按钮,在ListBox中展示从MySQL数据库中的查询结果;另外我们在下方的三个输入框中分别输入用户的FirstName、LastName、EmailAddress字段,然后鼠标点击insert按钮,往数据库表中插入一条记录。最终的程序界面如下图所示:

MySQL数据库访问窗体示例程序
MySQL数据库访问窗体示例程序

(1)、根据LastName查询记录 我们首先在输入框中输入LastName如蒋(英文中LastName代表中文中的姓,FirstName代表中文中的名),然后鼠标点击【Seach】按钮,查询的结果展示在下方中的ListBox中,如下图所示:

根据LastName查询数据
根据LastName查询数据

(2)、往数据库people表中插入一条记录 我们首先在下面的FirstNameLastNameEmailAddress三个文本框中输入对应的数据,然后鼠标点击insert按钮,即可插入一条记录。 注意:由于Id是主键自增的,所以不用管。

插入一条记录
插入一条记录

执行插入记录后,原来输入的FistNameLastNameEmailAddress记录会被清空,如下图所示:

执行插入记录后,原来的输入记录会被清空
执行插入记录后,原来的输入记录会被清空

接下来我们输入在最上方根据刚刚输入的LastName:蒋,看FirstName为青青,LastName为蒋,EmailAddress为[email protected]的那条记录是否入库,如下图所示:

检查刚刚插入的数据是否入库
检查刚刚插入的数据是否入库

二、C#窗体程序源代码下载

完整的C#窗体程序代码我已经上传到github上面了:

Github源代码
Github源代码
代码语言:javascript
复制
git clone https://github.com/ccf19881030/WindowsFormsMySqlDbApp.git

或者直接下载https://github.com/ccf19881030/WindowsFormsMySqlDbApp/archive/refs/heads/main.zip源代码即可,

下载源代码描述
下载源代码描述

三、创建C# MySQL数据库窗体示例程序

1、创建一个基于C# .Net的WinForm窗体程序

基于VS2022,创建一个WinForm .Net窗体程序,如下图所示:

WinForm .Net窗体程序
WinForm .Net窗体程序

最终的程序代码结构如下图所示:

最终的程序代码结构
最终的程序代码结构

2、通过NuGet包管理器安装Mysql.Data和Dapper库

创建项目名称为WindowsFormsMySqlDbApp的C#窗体程序之后,通过项目中的引用-》管理 NuGet 程序包(N)-》浏览,分别输入MySql.Data和Dapper,然后点击安装:

MySql.Data库
MySql.Data库
Dapper
Dapper
安装了MySql.Data和Dapper库
安装了MySql.Data和Dapper库

3、设计界面UI

WinForm界面如下图所示:

WinForm窗体程序
WinForm窗体程序

WinForm界面和MFC一样很简单,只由LabelTextBoxButtonListBox这四种控件组成。

4、安装MySQL数据库,并Navicat Premium 16或者MySQL命令行创建数据库ytdemo和people表

安装mysql-installer-web-community-8.0.36.0.msi数据库安装包之后,我们root账号的初始密码设置为123456,然后使用Navicat Premium 16连接并登录本地MySQL数据库,然后先创建ytdemo数据库,然后在该数据库中创建people表,其字段结果如下图所示:

people表结构
people表结构

people表结构的脚本如下: people.sql

代码语言:javascript
复制
/*
 Navicat Premium Data Transfer

 Source Server         : localhost_mysql_root
 Source Server Type    : MySQL
 Source Server Version : 80036
 Source Host           : localhost:3306
 Source Schema         : ytdemo

 Target Server Type    : MySQL
 Target Server Version : 80036
 File Encoding         : 65001

 Date: 09/03/2024 14:34:56
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for people
-- ----------------------------
DROP TABLE IF EXISTS `people`;
CREATE TABLE `people`  (
  `Id` int NOT NULL AUTO_INCREMENT,
  `FirstName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `LastName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `EmailAddress` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`Id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

然后往数据库表中插入一些测试数据,如下图所示:

people表中的测试数据
people表中的测试数据

people的测试数据如下:

代码语言:javascript
复制
-- ----------------------------
-- Records of people
-- ----------------------------
INSERT INTO `people` VALUES (1, 'Timothy', 'Corey', '[email protected]');
INSERT INTO `people` VALUES (2, 'Jane', 'Simth', '[email protected]');
INSERT INTO `people` VALUES (3, 'Sue', 'Storm', '[email protected]');
INSERT INTO `people` VALUES (4, 'Bob', 'McClure', '[email protected]');
INSERT INTO `people` VALUES (5, 'Mary', 'Jones', '[email protected]');
INSERT INTO `people` VALUES (6, 'Ray', 'Stone', '[email protected]');
INSERT INTO `people` VALUES (7, '操', '曹', '[email protected]');
INSERT INTO `people` VALUES (8, '权', '孙', '[email protected]');
INSERT INTO `people` VALUES (9, '备', '刘', '[email protected]');
INSERT INTO `people` VALUES (10, '飞', '张', '[email protected]');
INSERT INTO `people` VALUES (11, '羽', '关', '[email protected]');
INSERT INTO `people` VALUES (12, '亮', '诸葛', '[email protected]');
INSERT INTO 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库
  • 一、使用Mysql.Data和Dapper来操作Mysql数据库
    • 二、C#窗体程序源代码下载
    • 三、创建C# MySQL数据库窗体示例程序
      • 1、创建一个基于C# .Net的WinForm窗体程序
        • 2、通过NuGet包管理器安装Mysql.Data和Dapper库
          • 3、设计界面UI
            • 4、安装MySQL数据库,并Navicat Premium 16或者MySQL命令行创建数据库ytdemo和people表
            相关产品与服务
            云数据库 MySQL
            腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档