Dapper怎么连接MySQL数据库 Dapper for MySQL配置方法

畫卷琴夢
发布: 2025-12-19 12:20:03
原创
156人浏览过
Dapper 连接 MySQL 需安装 Dapper 和 MySql.Data 两个 NuGet 包,配置正确连接字符串(如 Server=localhost;Port=3306;Database=mydb;User ID=root;Password=123456;SslMode=None;Allow User Variables=true),并通过 MySqlConnection 实例调用 Dapper 的 Query、Execute 等扩展方法。

dapper怎么连接mysql数据库 dapper for mysql配置方法

Dapper 本身不直接处理数据库连接,它依赖 ADO.NET 提供的数据库驱动。要让 Dapper 连上 MySQL,关键其实是配置好 MySql.Data 驱动 + 正确的连接字符串 + 标准的 IDbConnection 使用方式。下面几步走完,基本就通了。

装对两个 NuGet 包

缺一不可:

  • Dapper:轻量级 ORM 扩展库,提供 Query、Execute 等便捷方法
  • MySql.Data:Oracle 官方提供的 .NET MySQL 驱动(推荐用 8.0.x 或 8.3.x,兼容 .NET 6/7/8/9)

安装方式任选其一:
• 在包管理控制台运行:
Install-Package Dapper
Install-Package MySql.Data

• 或在 .csproj 中手动添加引用:

<PackageReference Include="Dapper" Version="2.1.35" /><br><PackageReference Include="MySql.Data" Version="8.3.0" />
登录后复制

写好 MySQL 连接字符串

推荐放在 appsettings.json 里,方便管理与切换环境:

"ConnectionStrings": {<br>  "DefaultConnection": "Server=localhost;Port=3306;Database=mydb;User ID=root;Password=123456;SslMode=None;Allow User Variables=true;"<br>}
登录后复制

注意几个实用细节:

  • Port 显式写上更稳妥(默认 3306),尤其部署到 Docker 或远程服务器时
  • SslMode=None 是本地开发常用设置;生产环境如需 SSL,设为 Required 并配证书
  • Allow User Variables=true 可避免某些含 @ 变量的 SQL 报错(比如存储过程或动态查询)
  • 密码含特殊字符?建议 URL 编码,或改用 MySqlConnectionStringBuilder 构造

用 MySqlConnection 套 Dapper 方法

核心就是:创建 MySqlConnection 实例 → 打开 → 丢给 Dapper 的扩展方法用。不需要额外封装也能跑起来:

慧中标AI标书
慧中标AI标书

慧中标AI标书是一款AI智能辅助写标书工具。

慧中标AI标书 295
查看详情 慧中标AI标书
string connStr = Configuration.GetConnectionString("DefaultConnection");<br>using var conn = new MySqlConnection(connStr);<br>conn.Open();<br><br>var users = conn.Query<User>("SELECT * FROM Users WHERE Age > @age", new { age = 18 });
登录后复制

常见写法提示:

  • using 自动释放连接,别忘了 Open()(Dapper 不会帮你开)
  • 参数统一用 @xxx 占位符,Dapper 会自动映射匿名对象或实体属性
  • 如果执行增删改,用 Execute();查单个用 QuerySingle()QueryFirstOrDefault()

可选:加一层基础仓储封装

项目稍大时,建议把连接逻辑抽成基类,避免每个 Repository 都重复 new MySqlConnection:

public class BaseRepository<br>{<br>  protected readonly string _connStr;<br>  public BaseRepository(IConfiguration config) => _connStr = config.GetConnectionString("DefaultConnection");<br><br>  protected IDbConnection CreateConnection() => new MySqlConnection(_connStr);<br>}
登录后复制

子类直接调用 CreateConnection(),再传给 Dapper,干净又可控。

不复杂但容易忽略:驱动版本匹配、连接字符串权限、防火墙端口、MySQL 用户 host 设置(比如 root@localhost ≠ root@%)。连不上先查这四点。

以上就是Dapper怎么连接MySQL数据库 Dapper for MySQL配置方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号