在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查
一、首先先创建一个C#的控制台应用

二、然后添加上必要的命名空间
using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
using System.Data;
using Dapper;
using System.Linq;
三、首先配置好一个数据库中存在的类表:
class Info
{
public int action_id { get; set; }
public int parent_id { get; set; }
public string action_code { get; set; }
public string relevance { get; set; }
}

四、添加Dapper和MYSQL的扩展包
添加Dapper扩展包

添加Mysql扩展包
最后在最右边的管理中可以查看到自己刚刚添加的扩展:

五、添加数据库链接代码
//数据库连接配置信息;
public static string constr = "server = localhost;User Id = root;password = 123456;Database = ecshop";
再添加无条件查询的代码:
/// <summary>
/// 无条件查询所有;
/// </summary>
/// <returns></returns>
public static List<Info> Query()
{
using (IDbConnection connection = new MySqlConnection(constr))
{
return connection.Query<Info>("select * from sdx_admin_action").ToList();
}
}
执行结果如下:

以下为源码包含增删改查:
using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
using System.Data;
using Dapper;
using System.Linq; namespace SelectAll
{
class Info
{
public int action_id { get; set; }
public int parent_id{ get; set; }
public string action_code { get; set; }
public string relevance { get; set; }
}
class Program
{
//数据库连接配置信息;
public static string constr = "server = localhost;User Id = root;password = 123456;Database = ecshop"; static void Main(string[] args)
{
/*Info One = new Info();
One.parent_id = 2;
One.action_code = "小弱鸡";
One.relevance = "here~";*/ //插入
//Insert(SetInfo(3,"小弱鸡三号","hahahh")); //批量插入
/*List<Info> Infos = new List<Info>();
Infos.Add(SetInfo(4, "小弱鸡四号", "sdfeff"));
Infos.Add(SetInfo(5, "小弱鸡五号", "sdfsdfdf"));
Infos.Add(SetInfo(6, "小弱鸡六号", "sdfe多维ff")); Insert(Infos);*/ //删除;
//Delete(SetInfo(2, "小弱鸡", "here~")); //更新
//Update(SetInfo(2, "小弱鸡二号·改", "hahahh")); List<Info> test = Query();
string TestInfo = ""; for (int i = ; i < test.Count; i++)
{
TestInfo = test[i].action_id.ToString() + " , " + test[i].parent_id + " , " + test[i].action_code + " , " + test[i].relevance;
Console.WriteLine(TestInfo);
} Console.ReadLine();
} /// <summary>
/// 无条件查询所有;
/// </summary>
/// <returns></returns>
public static List<Info> Query()
{
using (IDbConnection connection = new MySqlConnection(constr))
{
return connection.Query<Info>("select * from sdx_admin_action").ToList();
}
} /// <summary>
/// 设置Info对象并返回
/// </summary>
/// <param name="var_parent_id"></param>
/// <param name="var_action_code"></param>
/// <param name="var_relevance"></param>
/// <returns></returns>
public static Info SetInfo(int var_parent_id,string var_action_code, string var_relevance)
{
Info tmp = new Info();
tmp.parent_id = var_parent_id;
tmp.action_code = var_action_code;
tmp.relevance = var_relevance;
return tmp;
} /// <summary>
/// 执行插入,插入单条信息;
/// </summary>
/// <returns></returns>
public static int Insert(Info varInfo)
{
using (IDbConnection connection = new MySqlConnection(constr))
{
return connection.Execute(
"insert into sdx_admin_action(parent_id,action_code,relevance) values(@parent_id,@action_code,@relevance)", varInfo);
}
} /// <summary>
/// 批量执行插入;
/// </summary>
/// <param name="varInfo"></param>
/// <returns></returns>
public static int Insert(List<Info> varInfo)
{
using (IDbConnection connection = new MySqlConnection(constr))
{
return connection.Execute(
"insert into sdx_admin_action(parent_id,action_code,relevance) values(@parent_id,@action_code,@relevance)",varInfo
);
}
} /// <summary>
/// 删除指定条件的行信息;
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
public static int Delete(Info info)
{
using (IDbConnection connection = new MySqlConnection(constr))
{
return connection.Execute(
"delete from sdx_admin_action where action_code=@action_code",info
);
}
} /// <summary>
/// 更新
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
public static int Update(Info info)
{
using (IDbConnection connection = new MySqlConnection(constr))
{
return connection.Execute(
"Update sdx_admin_action set action_code=@action_code where parent_id=@parent_id",info
);
}
}
}
}
参考文档:https://www.jianshu.com/p/c4ca2989d26a
在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查的更多相关文章
- 48.Python中ORM模型实现mysql数据库基本的增删改查操作
首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
- AngularJS中使用$http对MongoLab数据表进行增删改查
本篇体验使用AngularJS中的$http对MongoLab数据表进行增删改查. 主页面: <button ng-click="loadCourse()">Load ...
- mysql实现简单的增删改查,放入xmapp自带数据库中
1.mysql概念:SQL-Structured Query Language,是一种特殊的语言,专用于操作关系型数据库服务器中的数据,所有的SQL语句分为四类: (1)DDL(2)DQL(3)DML ...
- django中的forms组件(权限信息校验,增删改查)
1.用处 1.用户请求数据验证 2.自动生成错误信息 3.打包用户提交的正确信息 4.如果其中有一个错误了,其他的正确,则保留上次输入的内容 5.自动创建input标签并可以设置样式 6.基于form ...
- IDEA中通过工具类实现对数据库的增删改查
package com.hu.dao; import com.hu.entity.Student; import java.util.List;import java.util.Map; public ...
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_6 Mybatis中使用Dao实现类的执行过程分析-增删改方法
从测试类入手,断点调试 找到实现类,进入到insert方法里面 这里是SqlSession的接口里面的方法. 我们需要找SqlSession的实现类. DefaultSqlSession 里面有两个i ...
- 简述ADO中如何使用参数化的命令对象以及增删改查,存储过程的操作
连接数据库代码: private SqlConnection con = null; public void OpenConnection(string connectionString) { con ...
- symfony2中mysql和mongodb的增删改查总结
https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manip ...
随机推荐
- SeleniumIDE_初识
版权声明:本文为博主原创文章,转载请注明出处. 学习Selenium,除了自己手动编写脚本,还可以使用Selenium IDE进行脚本录制. 安装Selenium IDE Selenium IDE是F ...
- LeetCode - 596. Classes More Than 5 Students
There is a table courses with columns: student and class Please list out all classes which have more ...
- OpenVPN的那些坑
遇到的情形 最近遇到一种情况,当需要同时使用到多个VPN连接时,默认的openVPN连接是不支持的,但是可以通过手动配置虚拟网络适配器进行相关的设置. 具体解决方法 基本思路是:在本地的网络连接中添加 ...
- Swift iOS 日期操作:NSDate、NSDateFormatter
1.日期(NSDate) // 1.初始化 // 初始化一个当前时刻对象 var now = NSDate() // 初始化一个明天当前时刻对象 var tomorrow = NSDate(timeI ...
- 在Swift项目中使用OC,在OC项目中使用Swift
几天前,我开始新的App的开发了.终于有机会把swift用在实战中了,也学到了之前纯学语法时没有机会获得的知识. 这篇博文中,我就如何使用swift.OC混编做一个介绍. OC中使用Swift 首先, ...
- Redis常见七种使用场景(PHP实战)
edis 是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 本篇文章,主要介绍利用Redis常见应用场景下PHP实战. ...
- Java集合框架(四)—— Queue、LinkedList、PriorityQueue
Queue接口 Queue用于模拟了队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器.队列的头部保存在队列中时间最长的元素,队列的尾部保存在队列中时间最短的元素.新元素插入(offer)到 ...
- 概括一下nodejs
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js是事件驱动,非阻塞I/O的.所以它再处理高并发,I/O密集的场景下性能优势明显,如web. 对比 ...
- CodeForces-749B
给定3个坐标,求可能构成平行四边形的第四个点,枚举两个点,根据这两个点的横纵坐标差,来得到第四个点的坐标,注意生成的坐标需要判重. AC代码: #include<cstdio> #incl ...
- MYSQL,触发器,实现两个表共用ID不重复
前后台没有分开,为了区分前后台用户,所以分表,但是ID不能重复,因为关联了权限表. 这里实现后台用户表使用奇数ID 前台用户表使用偶数ID MYSQL 没有sequence SET @@auto_in ...