C# Dapper 操作Oracle数据库
nuget安装内容
1.配置连接字符串 OracleConnectionString这个可用
{"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","DB": {"OracleConnStr": "Password=123456;User ID=system;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.20.13)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));","OracleConnectionString": "data source=192.168.20.13:1521/XE;password=123456;user id=system;Incr Pool Size=5;Decr Pool Size=2;","OracleConnStr1": "Data Source=LINKASIA;User Id=system;Password=123456","MySQLConnStr": "server=127.0.0.1;port=3306;user=root;password=123456; database=spongeglueing;","SqliteDBName": "mydb.db"},"SerialPort": {"Name": "COM!"}
}
2.读取配置文件类
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;namespace TireDirection.Helper.Settings
{/// <summary>/// 读取配置信息/// </summary>public class AppSettingsHelper{/// <summary>/// /// </summary>public static IConfiguration Configuration { get; set; }static AppSettingsHelper(){//ReloadOnChange = true 当appsettings.json被修改时重新加载 Configuration = new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "Config\\appsettings.json", ReloadOnChange = true }).Build();}}
}
3.Dapper数据库操作类
using Dapper;
using Oracle.ManagedDataAccess.Client;
using TireDirection.Helper.Settings;namespace TireDirection.Helper.DB
{public class DapperOracleHelper{ public class DapperFactory{ public static readonly string ConnectionStr = AppSettingsHelper.Configuration["DB:OracleConnectionString"] ?? "";public static OracleConnection CrateOracleConnection(){var connection = new OracleConnection(ConnectionStr);connection.Open();return connection;}}/// <summary>/// 执行SQL返回集合/// </summary>/// <param name="strSql">sql语句</param>/// <returns></returns>public static List<T> Query<T>(string strSql){using (var conn = DapperFactory.CrateOracleConnection()){return conn.Query<T>(strSql, null).ToList();}} public static List<T> QuerySqlString<T>(string sqlStr,object param){List<T> result = new List<T>();using (var conn = DapperFactory.CrateOracleConnection()){//string query = "SELECT * FROM sys_user t where username=:id ";//var par = new { id = "admin" };//var par = JsonConvert.DeserializeObject(param);result = conn.Query<T>(sqlStr, param).ToList();// conn.Insert(new SysUser());// conn.Update(new SysUser());//根据主键更新// conn.Delete(new SysUser()); //根据主键删除}return result;}public static int ExecuteNonQuery(string sql, params SQLiteParameter[] ps){int result = -1;using (var conn = DapperFactory.CrateOracleConnection()){string query = "SELECT * FROM sys_user t where username=:id ";var par = new { id = "admin" };result = conn.Execute(query, par);// conn.Insert(new SysUser());// conn.Update(new SysUser());//根据主键更新// conn.Delete(new SysUser()); //根据主键删除}return result;}}
}
4.操作数据实例
public static List<DBTestModel> Test( ){List<DBTestModel> result = new List<DBTestModel>();string SqlStr = @$"Select ID, Name,Value from LINKASIA ";try{result = DapperOracleHelper.Query<DBTestModel>(SqlStr);SqlStr = @$"Select ID, Name,Value from LINKASIA where ID=:id";var par = new { id = "1" };result = DapperOracleHelper.QuerySqlString<DBTestModel>(SqlStr, par);}catch (Exception ex){Log.Logger.Error($"LinkAsiaDB GetAllSpongeGlueing 异常 {ex.Message}");}return result;}
相关文章:

C# Dapper 操作Oracle数据库
nuget安装内容 1.配置连接字符串 OracleConnectionString这个可用 {"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","…...

element侧边栏子路由点击不高亮问题
最近自己封装侧边栏 又碰到了点击子路由不高亮的问题 <template><div class"aside"><el-scrollbar :vertical"true" class"scrollbar_left_nav"><el-menu :default-active"defaultActive" :collapse"$stor…...

C# 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
C# 在调用Cdll时,可能会出现 :试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)这个错误。 一般情况下是C#目标平台跟Cdll不兼容,64位跟32位兼容性问题, a.客户端调用Cdll报的错则, 1)允许的话把C#客户端…...

Linux 进程的睡眠和唤醒详解
概要 在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为 TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运…...

AI 绘画Stable Diffusion 研究(十五)SD Embedding详解
大家好,我是风雨无阻。 本期内容: Embedding是什么?Embedding有什么作用?Embedding如何下载安装?如何使用Embedding? 大家还记得 AI 绘画Stable Diffusion 研究(七) 一文读懂 Stab…...

在Jupyter Notebook中添加Anaconda环境(内核)
在使用前我们先要搞清楚一些事: 我们在安装anaconda的时候它就内置了Jupyter Notebook,这个jupyter初始只有base一个内核(显示为Python3) 此后其实我们就不需要重复安装完整的jupyter notebook了,只要按需为其添加新的…...
适配器模式简介
概念: 适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。它允许不兼容的接口之间进行协同工作。 特点: 通过适配器,可以使原本因为接口不匹配而无法…...
MyBatis —— 多种查询及映射关系
前言 上一篇文章中荔枝梳理了有关MyBatis的相关环境配置和核心配置文件及其模板的设置和生成,而在这篇文章中荔枝会着重梳理MyBatis多种查询情况、特殊SQL执行以及两表联查时映射关系的处理。希望对需要的小伙伴有帮助~~~ 文章目录 前言 一、多种查询情况 1.1 查…...

腾讯云服务器镜像TencentOS Server操作系统详细介绍
腾讯云TencentOS Server镜像是腾讯云推出的Linux操作系统,完全兼容CentOS生态和操作方式,TencentOS Server操作系统为云上运行的应用程序提供稳定、安全和高性能的执行环境,TencentOS可以运行在腾讯云CVM全规格实例上,包括黑石物理…...

Docker 中下载各版本的 CentOS、CentOS Steam 方式
如果你跟我一样,想要在docker下载centos的镜像,但是无奈访问不了 https://hub.docker.com/,于是不知道有哪些tag可以下载,该如何办呢? 方法如下,以供参考。 访问:https://quay.io/repository/…...

多线程使用HashMap,HashMap和HashTable和ConcurrentHashMap区别(面试题常考),硬盘IO,顺便回顾volatile
一、回顾💛 谈谈volatile关键字用法 volatile能够保证内存可见性,会强制从主内存中读取数据,此时如果其他线程修改被volatile修饰的变量,可以第一时间读取到最新的值。 二、💙 HashMap线程不安全没有锁,HashTable线程…...

专线连接交换机设置 – 如何实现高效率的网络连接?
专线链接交换机设置 – 如何实现高效率的网络连接? 什么是专线连接交换机? 在现代互联网中,网络连接的快速和高效是至关重要的。尤其是对于需要大量数据传输和保证网络稳定性的企业和组织来说,专线连接交换机是一项非常重要的技…...

C#,数值计算——Midexp的计算方法与源程序
1 文本格式 using System; namespace Legalsoft.Truffer { public class Midexp : Midpnt { public new double func(double x) { return funk.funk(-Math.Log(x)) / x; } public Midexp(UniVarRealValueFun funcc, double aa, d…...
微信小程序使用本地存储方法wx.setStorageSync()和wx.getStorageSync()
微信小程序的本地存储可以使用wx.setStorageSync()和wx.getStorageSync()方法实现 使用wx.setStorageSync()方法可以将数据以键值对的方式存储到本地存储中: wx.setStorageSync(demo, demo123);获取数据:使用wx.getStorageSync()方法可以从本地存储中获…...
题解:ABC317C - Remembering the Days
题解:ABC317C - Remembering the Days 题目 链接:Atcoder。 链接:洛谷。 难度 算法难度:B。 思维难度:B。 调码难度:C。 综合评价:普及-。 算法 深度优先搜索。 思路 先建图&#x…...

【CSS】简记CSS效果:通过transition(动画过渡属性)实现侧边栏目滑入滑出
需求 在资金明细的页面中,点击按钮时筛选区域从左侧滑出,完成筛选点击确认后调用接口完成数据查询,筛选区域滑入左侧; 基于微信小程序页面实现 wxml代码 <view><!-- 操作按钮 --><button type"primary&qu…...
LeetCode——最大子数组和(中等)
题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#x…...
Zookeeper集成SpringBoot
Curator 是 Apache ZooKeeper 的Java客户端库。 Zookeeper现有常见的Java API如:原生JavaAPI、Curator、ZkClient等。 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"…...

ModaHub魔搭社区:星环科技致力于打造更优越的向量数据库
在数字化时代,数据成为了最重要的资源之一。随着人工智能、大数据等技术的不断发展,向量数据库成为了处理这类数据的关键工具。星环科技作为一家专注于数据存储和管理技术的公司,其重要目标就是将向量数据库打造得更为优越。 在星环科技,有一个专注于向量数据库的团队。这个…...
Dubbo默认使用什么序列化框架?还有哪些?
Dubbo默认使用的序列化框架是Hessian 2.0。Hessian是一种基于二进制的序列化协议,它具有简单、高效的特点,适用于网络传输和存储数据。Hessian在Dubbo中被广泛使用,因为它可以在不同的编程语言之间进行对象的序列化和反序列化。 除了Hessian…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...