1、安装引用MySQL和Dapper
MySQL的NuGet地址:https://www.nuget.org/packages/MySql.Data
使用命令安装
Install-Package MySql.Data
Install-Package Dapper
或
Nuget管理器中搜索"MySql.Data
"和"Dapper
",然后分别点击“安装
”
相关文档:VS(Visual Studio)中Nuget的使用
2、创建MySQL测试库脚本
CREATE DATABASE `cjavapy` CREATE TABLE `user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `UserName` varchar(255) DEFAULT NULL, `Age` int(11) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
3、使用Dapper执行SQL语句增删改查
用到的User实现类:
public class User
{
publicint Id { get; set; }
publicstring UserName { get; set; }
publicint Age { get; set; }
}
执行SQL语句增删改查:
1)注册字符编码提供者
确保支持 GBK 等非 UTF-8 编码。
// 为解决字符集问题,注册CodePagesEncodingProvider
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
2)连接 MySQL
使用连接字符串连接 MySQL 数据库,并通过 using
语句确保在操作完成后释放连接。
string connectionString =
"server=127.0.0.1;database=test;uid=root;pwd=;charset='gbk';SslMode=None";
using (IDbConnection dbConnection = new MySqlConnection(connectionString))
{
dbConnection.Open();
}
3)插入数据
通过 Execute 方法执行插入操作。
string insertSql =
"INSERT INTO user (UserName, Age) VALUES (@UserName, @Age)";
dbConnection.Execute(insertSql, new { UserName = "cjavapy", Age = 30 });
4)插入数据并返回自增的 ID
通过 QuerySingle<int> 方法获取刚插入数据的自增 ID。
string insertWithIdSql =
"INSERT INTO user (UserName, Age) VALUES (@UserName, @Age);"
+
" SELECT LAST_INSERT_ID();";
int newUserId = dbConnection.QuerySingle<int>(insertWithIdSql,
new { UserName = "cjavapy", Age = 38 });
5)更新数据
使用 Execute
方法更新数据。
string updateSql = "UPDATE user SET UserName = @UserName WHERE Id = @Id";
dbConnection.Execute(updateSql,
new { UserName = "updatedUser", Id = newUserId });
6)查询数据
使用 Query<User>
方法查询所有用户数据。
string selectSql = "SELECT * FROM user";
var users = dbConnection.Query<User>(selectSql);
7)删除数据
string deleteSql = "DELETE FROM user WHERE Id = @Id";
dbConnection.Execute(deleteSql, new { Id = newUserId });