在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 ...
随机推荐
- PHP 批量获取指定目录下的文件列表(递归,穿透所有子目录)
//调用 $dir = '/Users/xxx/www'; $exceptFolders = array('view','test'); $exceptFiles = array('BaseContr ...
- Appium基于Python unittest自动化测试 & 自动化测试框架 -- PO并生成html测试报告
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...
- PHP文件头BOM头问题
前几天我们公司服务器出现了一个离奇的问题,服务器与本地文件代码完全一致,本地运行正常,到了测试环境服务器之后,各种问题一个又一个浮现,先是后台验证码不显示,以为是session写入失败,又是怀疑gd库 ...
- C#中await和async关键字的简单理解
C# 5.0之后,为了简化异步编程,引入了异步函数的概念,也就是方法标记async,然后可以使用await表达式来等待异步操作返回. await关键字看起来是一个阻塞线程的调用,但是实际上执行到awa ...
- uva225 回溯剪枝
这道题要剪枝,不然会超时,还有就是每次参加过的城市下次不能再参观,不然会WA. 对于障碍物的坐标我用了两种方法,第一种就是直接用STL里面的set,对于判断是否访问过直接用的count,用时960ms ...
- nyoj137 取石子(三) 楼教主男人八题之一
思路:一堆时,N态.两堆时,当两堆数量相同,P态,不同为N态.三堆时,先手可以变成两堆一样的,必胜N态. 此时可以总结规律:堆数为偶数可能且石子数都是两两相同的,为P态.分析四堆时,当四堆中两两数量一 ...
- JavaScript将小写金额转换成大写
//num为小写金额,单位元 changeMoney(num) { if(isNaN(num))return ""; var strPrefix=""; if( ...
- 吾八哥学Selenium(三):操作复选框checkbox/单选框radio的方法
复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下! html测试页面代码 ...
- xpadder教程:自定义设置游戏手柄的图片
关于xpadder设置按键的教程,网上已经很多,我就不凑这个热闹了.这里介绍的是如何自定义设置手柄的图片,就是按钮的背景图,如下图所示: 步骤: 1)准备一张背景图 注意:格式必须是24位色的BMP位 ...
- ThinkPad W500 清灰记录
转载请注明出处:HateMath归来(http://www.cnblogs.com/hatemath/) 看型号就知道,这是一台英雄迟暮型的老电脑.到了夏天,启动后啥事不做,通风口都烫手.心情好,一时 ...