整理一下目前在用的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. angularjs google map

    google map display incorrect To remove the grayness, according to https://angular-ui.github.io/angul ...

  2. 第95题:不同的二叉搜素树II

    一. 问题描述 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树. 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,n ...

  3. easyui-filebox上传文件或图片时选择相同文件无法触发change事件的问题

    其实很简单,当选择完一个文件之后,会将文件名存放在input中的value值中,当下一次onChange之后,比对玩发现,value值没有发生变化,所以不能触发. 所以,只需要下次将value值清空就 ...

  4. [AH2017/HNOI2017]抛硬币(扩展lucas)

    推式子+exlucas. 题意: 小 A 和小 B 是一对好朋友,两个人同时抛 b 次硬币,如果小 A 的正面朝上的次数大于小 B 正面朝上的次数,则小 A 获胜. 小 A 决定在小 B 没注意的时候 ...

  5. 【基本算法入门-字符串哈希(Hash)】-C++

    字符串哈希入门 说得通俗一点,字符串哈希实质上就是把每个不同的字符串转成不同的整数. 为什么会有这样的需要呢?很明显,存储一个超长的字符串和存储一个超大但是能存的下的整数,后者所占的空间会少的多,但主 ...

  6. E:only-child

    E:only-child 语法: E:only-child { sRules } 说明: 匹配父元素仅有的一个子元素E.大理石机械构件维修 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高 ...

  7. 【概率论】3-6:条件分布(Conditional Distributions Part I)

    title: [概率论]3-6:条件分布(Conditional Distributions Part I) categories: Mathematic Probability keywords: ...

  8. thinkphp5 大量数据批量插入数据库的解决办法

    对于数据量很小,怎么玩都是可以的. but!!! 如果有几十万或者百万级别的数据,该怎么处理,请往下面看

  9. SpringBoot配置JDBC连接MySql数据库的时候遇到了报错:HikariPool-1 - Exception during pool initialization

    使用SpringBoot做JAVA开发时,JDBC连接MySql数据库的时候遇到了报错: ERROR 10392 --- [ main] com.zaxxer.hikari.pool.HikariPo ...

  10. 牛顿法与拟牛顿法(三) DFP算法

    转自 https://blog.csdn.net/itplus/article/details/21896981