using System;
using System.Data.Common;
using System.Linq;
using Dapper;
using MySql.Data.MySqlClient;

public class DapperBase<T> where T:class,new(){/// <summary>/// 读连接/// </summary>/// <returns></returns>public DbConnection GetWriteConnection(){MySqlConnection connection = new MySqlConnection(WebconfigUtils.GetWriteDbconfig());//NpgsqlConnection connection = new NpgsqlConnection(_sqlconnection);
            connection.Open();return connection;}/// <summary>/// 读连接/// </summary>/// <returns></returns>public DbConnection GetReadConnection(){try{MySqlConnection connection = new MySqlConnection(WebconfigUtils.GetReadDbconfig());connection.Open();return connection;}catch (Exception){return GetWriteConnection();}}public T ExecuteSql(string sql, object obj){using (var connection = GetReadConnection()){var model =connection.Query<T>(sql, obj).FirstOrDefault();connection.Close();return model;}}/// <summary>/// 事务执行sql/// </summary>/// <param name="sql"></param>/// <param name="obj"></param>/// <returns></returns>public int ExecuteTransactionSql(string sql, object obj){using (var connection = GetWriteConnection()){var trans = connection.BeginTransaction();var rows =connection.Execute(sql, obj,trans);if (rows > 0){trans.Commit();}else{trans.Rollback();}connection.Close();return rows;}}}

转载于:https://www.cnblogs.com/fangyuan303687320/p/5513813.html

分享一个dapper简单封装相关推荐

  1. 1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码)...

    1.NetDh框架开始的需求场景 需求场景: 1.之前公司有不同.net项目组,有的项目是用SqlServer做数据库,有的项目是用Oracle,后面也有可能会用到Mysql等,而且要考虑后续扩展成主 ...

  2. xsd文件转图片_如何将图片转化为PDF格式?分享一个超简单的方法给你

    如何将图片转化为PDF格式?有些朋友经常需要将图片转换成PDF格式文件,这样比较方便保存和传输.熟悉文件转换的朋友是知道该怎么操作的,不了解的朋友不用担心,今天我来教大家一个方法,能够帮助我们简单快速 ...

  3. 分享一个超级简单简洁的单页导航网站源码,不到1m,带valine评论设置

    影剧导航 示例网页:https://guide.qitablog.com/index.html 底部呢加个api就行 详细的可以看onemanager评论功能实现 onemanager美化详细图文教程 ...

  4. uniapp简单封装的激励广告和插屏广告

    挺久没更新公众号了,今天给大家写一个uniapp简单封装的激励广告和插屏广告的教程,主要的解决的问题就是如果一个小程序页面多且需要调用的广告也比较多,这样会导致出现许多的重复代码,而且使得页面js文件 ...

  5. 分享一个自己的开源项目ShapeView

    在家办公都快1个月了,人都要疯了.希望疫情早点过去,加油武汉,加油中国!!! 今天给大家分享一个我自己封装的小项目,我们公司的产品也在使用,就是使用自定义属性替代项目中的shape文件,首先看效果图: ...

  6. 分享一个为领夹式无线麦克风打造的SOP8封装 LDR6028芯片方案

    分享一个为领夹式无线麦克风打造的SOP8封装 LDR6028芯片方案 禾川兴推出LDR6028 SOP8封装 ,USB PD 协议芯片兼容市面上主流手机,兼容性非常优秀,单芯片集成,外围简单,价格便宜 ...

  7. 简单分享一个轻量级自动化测试框架目录结构设计

    更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解 很多人在做自动化测试的过程中会遇到一个瓶颈,就是能够写脚本,但是不知道怎么去组织代码,怎么搭 ...

  8. php运行socket服务器,PHP_php简单socket服务器客户端代码实例,本篇文章分享一个简单的socket - phpStudy...

    php简单socket服务器客户端代码实例 本篇文章分享一个简单的socket示例,用php.实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务. 产生一个 socket 服务端 /*文 ...

  9. Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发

    Spring JDBC     * Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发     * 步骤:         1. 导入jar包        ...

最新文章

  1. java treemap get_java treeMap 排序后 get不到value
  2. [译]GLUT教程 - 键盘高级特性
  3. 网站被黑的原因真实案例
  4. Kubernetes使用Jenkins服务器存储所有的kube.config文件
  5. 零分钟即可在容器开发套件(CDK)上实现云运营
  6. Android 4.1新增功能特性
  7. iOS中UINavigationController控制器使用详解
  8. PhpSpreadsheet使用
  9. 2021年江苏省高考成绩什么时候可以查询,2021年江苏高考成绩什么时候出来 成绩查询时间...
  10. shell三种 for循环方式
  11. 为什么边缘概率密度是联合概率密度的积分_5.27005柏林联合VS美因茨
  12. 【数字IC设计】001. IC设计基础
  13. 教你制作一个自动发摩斯电码的PYTHON小程序
  14. 阿里Java开发规范IDEA开发插件
  15. 在OSPF中引入直连路由时调用Route-Policy
  16. spider-admin-pro 一个集爬虫Scrapy+Scrapyd爬虫项目查看 和 爬虫任务定时调度的可视化管理工具
  17. Mac设置重置Python3环境
  18. 利用Python绘制一朵太阳花
  19. 双系统Linux grub引导,双系统修复ubuntu grub2引导的方法
  20. SVN 给文件 设置不提交

热门文章

  1. python语言字符串_python中字符串的常见操作方法
  2. datagridview 纵向 横向 合并单元格_Excel横向(行)筛选技巧分享,别人3分钟,你只要10秒...
  3. 给网站加上“新年快乐”灯笼源码
  4. Nginx+Tomcat无法正确获取的域名和ip地址
  5. android 融云sdk集成,使用融云SDK集成
  6. [Ext JS 4] 布局之实战一 - 中间区块不会自动伸展 (tab)
  7. P3919 【模板】可持久化数组(可持久化线段树/平衡树)(入门第一题)
  8. linux 执行脚本报错:nginx_check.sh:行10: 语法错误: 未预期的文件结尾
  9. react native loading动画_TypeScript for React (Native) 进阶
  10. matlab求傅里叶级数展开式_明明学过积分和三角函数就能秒理解傅里叶变换.........