在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 ...
随机推荐
- sublime插件AndyJS2安装教程
1.下载AndyJS2包,已整理上传,下载AndyJS2.rar,附上网址.(https://github.com/jiaoxueyan/AndyJS2) 2.点击首选项(preference)=&g ...
- ionic2+Angular 组件(多个组件)浅谈
第一步,新建组件: ionic g component product-img-list 命令执行成功之后项目中生成的文件: 第二步:生成文件解析: ①product-img-list.ts impo ...
- [Python Study Notes]Socket模拟ssh执行cmd并记录遇到的问题
服务器端: 流程: 1.创建servert实例 2.绑定地址和端口 3.开始监听 4.创建客户端连接实例 5.等待客户端的消息 6.......... # The_author = 'liu66' # ...
- 企业级docker仓库Harbor部署
1.安装环境下载离线安装包地址https://github.com/vmware/harbor/releases/yum install -y dockerpip install -i https:/ ...
- Android 文件下载三种基本方式
一.自己封装URLConnection 连接请求类 public void downloadFile1() { try{ //下载路径,如果路径无效了,可换成你的下载路径 String url = & ...
- 数据库中字段类型对应的C#中的数据类型(转载)
数据库中字段类型对应C#中的数据类型: 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] ...
- Java集合中的AbstractMap抽象类
jdk1.8.0_144 AbstractMap抽象类实现了一些简单且通用的方法,本身并不难.但在这个方法中有两个方法非常值得关注,keySet和values方法源码的实现可以说是教科书式的典范. 抽 ...
- 码农很忙代理IP系统V1.0版本上线
码农很忙代理IP系统V1.0版本上线 经过为期一个月的重写和测试,新版本的码农很忙代理IP系统已于今日正式上线.新版本拥有更精准的匿名类型识别和更高效的验证调度算法. 新版本仍旧采用ASP.NET B ...
- linux shell 和linux 命令的区别?windows shell 和 windows 命令呢?
shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面. shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起 ...
- 使用org.apache.commons.logging打日志注意事项
使用方法:例如,protected final Log logger = LogFactory.getLog(getClass());if (logger.isDebugEnabled()) { lo ...