整理一下目前在用的Dapper

与FrameWork不同,NetCore数据库配置需要从appsettings.json中获取

刚接触的时候被这块坑了,自己手动建了个app.config。然后你懂的(笑哭)

读取配置文件:

 public class AppSetting
{
private static readonly object objLock = new object();
private static AppSetting instance = null; private IConfigurationRoot Config { get; } private AppSetting()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
Config = builder.Build();
} public static AppSetting GetInstance()
{
if (instance == null)
{
lock (objLock)
{
if (instance == null)
{
instance = new AppSetting();
}
}
} return instance;
} public static string GetConfig(string name)
{
if (string.IsNullOrWhiteSpace(name))
{
return "name is null";
}
return GetInstance().Config.GetSection(name).Value;
}
}

日常够用的几个方法:

         /// <summary>
/// 返回行数
/// </summary>
/// <param name="sql">SQL</param>
/// <returns></returns>
public static int Execute(string sql)
{
string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
IDbConnection conn = new SqlConnection(URL);
int result = conn.Execute(sql);
return result;
} /// <summary>
/// 返回List
/// </summary>
/// <param name="sql">SQL</param>
/// <returns></returns>
public static dynamic Query(string sql)
{
string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
IDbConnection conn = new SqlConnection(URL);
dynamic result = conn.Query(sql);
return result;
} /// <summary>
/// 返回单条
/// </summary>
/// <param name="sql">SQL</param>
/// <returns></returns>
public static dynamic QueryFirst(string sql)
{
string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
IDbConnection conn = new SqlConnection(URL);
dynamic result = conn.QueryFirst(sql);
return result;
}

Controller中调用:

       string sql = "bula bula bula";
  dynamic result = Query(sql);       string sql = "bula bula bula";
    dynamic result = QueryFirst(sql);       string sql = "bula bula bula";
   int result= Execute(sql);

Re0:在.NetCore 中Dapper的基本用法的更多相关文章

  1. Re0:在 .NetCore中 EF的基本使用

    整理一下目前在用的EFCore 记得好像是因为懒得写sql,于是开始试着用EF 先根据数据库生成一个好东西,嗯 Scaffold-DbContext "Data Source=localho ...

  2. netcore中的缓存介绍

    Cache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享.由于Cache存放在服务器的内存中,所以用户获取缓存资源的速度远比从服务器硬盘中获取快,但是从资源占有的角度考虑 ...

  3. Stackoverflow/dapper的Dapper-Extensions用法(二)

    之前翻译了Dapper-Extensions项目首页的readme.md,大家应该对这个类库的使用有一些了解了吧,接下来是wiki的文档翻译,主要提到了AutoClassMapper.KeyTypes ...

  4. Stackoverflow/dapper的Dapper-Extensions用法(一)

    Dapper-Extensions Dapper Extensions is a small library that complements Dapper by adding basic CRUD ...

  5. dapper的Dapper-Extensions用法(一)

    dapper的Dapper-Extensions用法(一) Dapper-Extensions Dapper Extensions is a small library that complement ...

  6. Asp.NetCore 中Aop的应用

    前言 其实好多项目中,做一些数据拦截.数据缓存都有Aop的概念,只是实现方式不一样:之前大家可能都会利用过滤器来实现Aop的功能,如果是Asp.NetCore的话,也可能会使用中间件: 而这种实现方式 ...

  7. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  8. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

  9. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

随机推荐

  1. idea在springboot项目中显示Run Dashboard

    1.Run->Edit Configurations 2.在Templates[Defaults]-> Configurations available in Run Dashboard ...

  2. validatebox自定义验证规则以及使用

    //===============jsp======state==== //开启验证 <script  type="text/javascript"> ​​​​​​​y ...

  3. Java中String为什么是不可变

    什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不 ...

  4. Group by,并汇总求和

    static void Main(string[] args) { bbb(); Console.ReadKey(); } public static List<Dto> toAdd() ...

  5. Apache Web服务器 安装步骤 和遇到的坑

    Apache Web服务器是开发放源码的网页服务器,我们看到的网页都是上传到服务器然后呈现给用户的. 在开发中,在自己的电脑上安装Apache Web服务器,你的电脑也会成为服务器,配置文件,访问你的 ...

  6. Python学习日记(九)—— 模块二(logging、json&pickle、xml、requests、configparser、shutil、subprocess)

    logging模块 用于便捷记录日志且线程安全的模块(便捷的写文件的模块,不允许多个人同时操作文件) 1.单文件日志 import logging logging.basicConfig(filena ...

  7. java单例问题

    之前看资料,有人根据对象的创建时间将单例的实现分为懒汉式和饿汉式: 懒汉式: public class Singleton { private volatile static Singleton in ...

  8. 如何使用纯js实现一个带有灰色半透明背景的弹出框

    原文如何使用纯js实现一个带有灰色半透明背景的弹出框 // 加入透明背景 var body = document.body;var backgroundDiv = document.createEle ...

  9. mysql—并发控制及事务

    并发控制 实现的并发访问的控制技术是基于锁: 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁:InnoDB支持表级锁和行级锁: 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其他的人可 ...

  10. Flutter移动电商实战 --(24)Provide状态管理基础

    Flutter | 状态管理特别篇 —— Provide:https://juejin.im/post/5c6d4b52f265da2dc675b407?tdsourcetag=s_pcqq_aiom ...