跳转到主内容
极星编程网:以代码为星,赴技术山海!

Dapper如何连接数据库 Dapper配置连接字符串教程

Dapper 不负责连接数据库,而是依赖 ADO.NET 的 IDbConnection(如 SqlConnection)执行 SQL;连接字符串需按数据库类型正确配置,并通过 using 管理连接生命周期,推荐用 appsettings.json 和 IConfiguration 安全管理。 Dapper 本身不负责连接数据库,它只是轻量级的 ORM 工具,依赖 ADO.NET 的
IDbConnection
(比如
SqlConnection
、
MySqlConnection
等)来执行 SQL。所以“Dapper 连接数据库”的本质,是用 Dapper 调用已配置好的数据库连接对象。 连接字符串怎么写?常见数据库示例 连接字符串是告诉程序“去哪连、用谁连、怎么认证”的关键文本。不同数据库格式不同,但核心字段类似: SQL Server(Windows 认证):
"Server=localhost\SQLEXPRESS;Database=MyAppDB;Trusted_Connection=true;"
SQL Server(用户名密码):
"Server=localhost;Database=MyAppDB;User Id=myuser;Password=mypass;"
MySQL(需安装 MySqlConnector 或 Pomelo.EntityFrameworkCore.MySql):
"Server=localhost;Port=3306;Database=myapp;Uid=root;Pwd=123456;"
PostgreSQL(需 Npgsql):
"Host=localhost;Port=5432;Database=myapp;Username=postgres;Password=123456;"
在代码里怎么用连接字符串创建连接 别直接 new SqlConnection("xxx") 写死——推荐用
using
确保及时释放,再传给 Dapper 方法:
string connectionString = "Server=localhost;Database=MyAppDB;User Id=sa;Password=123456;"; using var conn = new SqlConnection(connectionString); conn.Open();

var users = conn.Query("SELECT * FROM Users WHERE Age > @age", new { age = 18 });

注意:Dapper 所有扩展方法(
Query
、
Execute
、
QuerySingle
等)都定义在
IDbConnection
上,只要传入合法打开的连接即可。 Trae win Trae Windows 官方版本现已全面支持 Win10 和 Win11 系统(64位)。国内开发者可直接访问 Trae 中文官网(trae.cn 或 trae.com.cn),一键下载官方正版 .exe 安装包,享受国内直连的高速稳定体验。安装过程极其简便,双击即可运行,并支持一键无缝导入 VS Code 或 Cursor 的原有主题、快捷键及插件配置。登录支持手机号、微信或稀土掘金账号。内置免费的豆包与 DeepSeek 等顶级大模型,让你开箱即用,轻松开启高效的 AI 智能编程之旅。 下载 怎么安全又方便地管理连接字符串 硬 编码 或写在代码里既不安全也不易维护。推荐方式: .NET Core / .NET 5+ 项目: 放在
appsettings.json
中,通过
IConfiguration
读取 ASP.NET Core 启动时注册连接工厂: 用
AddScoped(...)
或封装一个
IDbConnectionFactory
敏感信息(如密码): 开发用
User Secrets
,生产用 Azure Key Vault、 环境变量 或配置中心 常见报错和检查点 连不上?先快速核对这几项: 连接字符串里的服务器名、端口、数据库名是否拼写正确(大小写一般不敏感,但实例名如
SQLEXPRESS
要准确) 数据库服务是否正在运行(SQL Server Management Studio 能连上吗?) 防火墙 是否放行了数据库端口(如 SQL Server 默认 1433) 用户是否有对应数据库的访问权限(特别是新建登录后没映射数据库用户) 项目是否引用了正确的数据库驱动(
System.Data.SqlClient
已过时,.NET Core 推荐
Microsoft.Data.SqlClient
) 基本上就这些。Dapper 配置连接不是它自己的事,而是你把 ADO.NET 连接准备好,它才开始干活——越理解底层连接逻辑,越不容易卡在“连不上”这一步。

相关文章