C#实战:Dapper操作PostgreSQL笔记

news2024/11/20 3:35:09

目录

一、PostgreSQL简介

二、PostgreSQL组成

三、PostgreSQL的主要优点

四、PostgreSQL的使用场景

五、示例

1、安装dapper,目前本案例安装的版本是1.50.2

2、安装PostgreSQL驱动

3、数据库链接示例

4、通过SQL查询数据列表写法

5、插入示例写法


一、PostgreSQL简介

PostgreSQL,是一款开源的物理数据库管理系统(RDBMS),它能够实现跨平台的数据库安装以及管理,同时还提供了许多高端的特性,是当今最被推崇的数据库软件之一。PostgreSQL 是一种ACID兼容的对象关系数据库,使用灵活可扩展的SQL语言进行标准化编程,它可以处理复杂的数据,支持多种开源数据库,包括MySQL、Oracle和IBM DB2等。

PostgreSQL和MySQL几点主要区别

数据类型:PostgreSQL支持更多的数据类型,例如复杂数据类型、文本类型、时间戳类型等。

事务处理:PostgreSQL支持多种事务隔离级别,可以实现更高的事务性能和数据安全性。

分布式数据库:PostgreSQL支持分布式数据库,可以将数据分散在多个计算机上,提高处理大数据量的能力。

安全性:PostgreSQL提供了多种安全措施,可以更好地保护数据的安全性。

数据完整性:PostgreSQL提供了数据完整性检查功能,可以检查表格和索引中的数据完整性,避免出现错误或异常。

大数据量:PostgreSQL可以处理大量的数据,具有较高的性能和稳定性。

二、PostgreSQL组件

数据库引擎:PostgreSQL数据库引擎是一组CLI和命令行工具,用于管理和查询数据库。它使用C语言编写,并提供了许多高级功能,例如复制,分区,事务,视图和索引等。

数据库存储引擎:PostgreSQL的存储引擎是一组用于存储和检索数据的API。它们负责管理数据的物理存储,并与操作系统和文件系统交互。PostgreSQL支持多种存储引擎,例如Btree,Hash,GIS和qtree等。

数据库管理器:PostgreSQL数据库管理器是一个用户界面工具,可以通过命令行或图形用户界面(GUI)进行访问。它提供了许多功能,例如创建,修改和删除数据库,创建和管理表和索引,备份和恢复数据库,检查和修复错误等。

插件和扩展:PostgreSQL提供了许多插件和扩展,用于扩展其功能和用途。这些插件和扩展可以用于各种目的,例如提高性能,管理用户身份验证,连接到外部资源等。

三、PostgreSQL的主要优点

可靠性:PostgreSQL是一个高可靠性的数据库系统,具有多种容错和故障恢复机制。

可扩展性:PostgreSQL可以轻松地扩展,可以在一个或多个节点上运行,并使用分区和复制技术来水平扩展。

性能:PostgreSQL在多个方面提供了高性能,例如使用行级锁定,分区表和分区索引等技术来优化查询性能。

安全性:PostgreSQL提供了多种安全措施,例如用户身份验证,数据加密和备份,以确保数据安全。

社区支持:PostgreSQL拥有庞大的开发和用户社区,可以提供丰富的文档,支持和资源。

社区官网:PostgreSQL中文社区:: 世界上功能最强大的开源数据库...

四、PostgreSQL的使用场景

数据库应用程序:PostgreSQL可用于构建各种类型的数据库应用程序,例如企业应用程序,电子商务应用程序和金融应用程序等。

电子商务:PostgreSQL是许多电子商务网站的首选数据库,例如Amazon和eBay。

门户网站:PostgreSQL可用于构建门户网站,例如Wikipedia和Google。

游戏:PostgreSQL可用于构建游戏服务器,例如World of Warcraft和Counter-Strike: Global Offensive。

科学计算:PostgreSQL是许多科学计算应用程序的首选数据库,例如Apache Spark和TensorFlow。

媒体和娱乐:PostgreSQL可用于构建媒体和娱乐应用程序,例如Netflix和Hulu。

金融服务:PostgreSQL是许多金融服务应用程序的首选数据库,例如ING Direct和Capital One 360。

其他应用程序:PostgreSQL适用于各种应用程序和场景,例如医疗保健,物流,教育和政府等。

五、示例

今天给大家分享通过Dapper来操作PostgreSQL数据库。

首先新建一个控制台项目,开发框架是NetFrameWork v4.5.2

1、安装dapper,目前本案例安装的版本是1.50.2

2、安装PostgreSQL驱动

nuget直接搜索 npgsql 这里安装的版本是4.0.0 

3、数据库链接示例

建议大家写在配置文件里面,这里只做演示使用

  public string GetConnectioning(string servername, string uid, string pwd, string db, string port)
        {
            return string.Format("host={0};User ID={1};password={2};database={3};port={4};pooling=false;", servername, uid, pwd, db, port);
        }

4、通过SQL查询数据列表写法

 public List GetList(string conStr, string sql)
        {  

            using (NpgsqlConnection connection = new NpgsqlConnection(conStr))
            {
                var list = connection.Query(sql).ToList();
                return list;
            }

        }

5、插入示例写法

  public int Insert(string conStr)
        {

            int result = 0;
            try
            {
                using (NpgsqlConnection connection = new NpgsqlConnection(conStr))
                {                 
                    var sql = "insert into t_user(name, age, address, hobby) values(@a1, @b1, @c1, @d1), (@a2, @b2, @c2, @d2)";
                    DynamicParameters dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("a1", "value");
                    dynamicParameters.Add("b1", "value");
                    dynamicParameters.Add("c1", "value");
                    dynamicParameters.Add("d1", "value");
                    dynamicParameters.Add("a2", "value");
                    dynamicParameters.Add("b2", "value");
                    dynamicParameters.Add("c2", "value");
                    dynamicParameters.Add("d2", "value");                   
                    result = connection.ExecuteScalar(sql, dynamicParameters);
                }
            }
            catch
            {

            }
            return result;
        }

其余写法大家可以参考上面的写法自己来写,有问题的话可以沟通交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/641067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Triton教程 -- 快速开始

Triton教程 – 快速开始 文章目录 Triton教程 -- 快速开始创建模型存储库启动 Triton在带 GPU 的系统上运行在纯 CPU 系统上运行验证 Triton 是否正常运行发送推理请求 Triton 推理服务器的新手,想快速部署您的模型吗? 利用这些教程开始您的 Triton 之旅…

FasterTransformer 004 open_attention.h forward

initialize forward() https://github1s.com/NVIDIA/FasterTransformer/blob/v1.0/fastertransformer/cuda/open_attention.h#L149-L217 使用cuBLAS库执行矩阵乘法运算,并对cublasGemmEx()进行三个单独的调用。这些操作包括将属性核与输入张…

<Linux开发>驱动开发 -之-内核定时器与中断

<Linux开发>驱动开发 -之-内核定时器与中断 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详…

Linux系统下安装Kubernetes(超详细。。。)

一、安装Kubernetes前的准备 1.1 准备Hosts文件 &#xff08;注意&#xff0c;请根据Linux虚拟机的IP地址&#xff0c;修改以下命令后再执行&#xff09; cat >>/etc/hosts<<EOF 192.168.100.146 deploy EOF 1.2 检查虚拟机的hostname cat /etc/hostname验证…

Charles抓包配置

这里写目录标题 一、Windows抓包配置1、Help-SSL Proxying-install Charles Root Certificate2、安装并导入证书&#xff0c;按下方各图完成证书导入后&#xff0c;正常情况下&#xff0c;会显示该证书没有问题。3、SSL证书过期解决办法a、可在windows的设置中搜索证书关键字&a…

c++ nlohmann/json 及修改json文件中个别关键字

(2条消息) nlohmann json使用_nlohmann::json_蜗牛单行道的博客-CSDN博客json为JavaScript object notation 是一种数据格式&#xff0c;逐渐替换掉了传统的xml 。json数据格式的属性名称和字符串值需要用双引号引起来&#xff0c;用单引号或者不用引号会导致读取数据错误。jso…

Django-初

文章目录 一、Django框架介绍二、后台管理第一步:项目的创建与运行第二步:应用的创建和使用第三步: 项目的数据库模型第四步: 启用后台Admin站点管理 三、前台管理第一步: URLconf 路由管理第二步: 视图函数处理业务逻辑第三步: 模板管理实现好看的HTML页面&#xff08;可参考菜…

网络计算模式期末复习(一)

C/S架构 C/S架构即客户端/服务端架构。客户端包含一个或多个在用户电脑上运行的程序&#xff0c;客户端程序发送请求和从服务器接收的数据。服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等。 B/S架构 B/S架构即浏览器/服务器架构&#xff0c;是随着Intern…

图片上添加贴纸怎么做?这几种方法很简单

在图片上添加贴纸是一种非常实用的图片编辑技巧&#xff0c;通过添加贴纸&#xff0c;图片可以变得更加生动有趣&#xff0c;吸引人们的眼球。贴纸可以是各种形状、颜色和大小&#xff0c;从而丰富图片的视觉效果。例如&#xff0c;在一张风景照片中添加一只卡通动物的图案&…

python中golbal的使用

简介 global关键字定义了一种在局部定义全局变量的方法 python中变量分为全局变量和局部变量&#xff0c;局部变量也叫做内部变量内部变量只能被内部使用&#xff0c;无法被其他函数或者对象使用 使用 简单使用 def fn():global fn_varfn_var "Hello World"fn1()…

为什么网红餐饮都做不长久?如何解决网红餐饮店所面临的问题?

随着社交媒体的兴起&#xff0c;网红餐饮在近年来越来越受到人们的关注。这些网红餐饮通常有着独特的装修风格、口味或者服务方式&#xff0c;吸引了大量的消费者前来体验。然而&#xff0c;有越来越多的网红餐饮因为各种原因而不得不倒闭&#xff0c;这引发了人们对于网红餐饮…

cajviewer怎么转换成pdf格式,分享几个方法给大家!

CAJViewer是一款常用的文献阅读软件&#xff0c;它主要用于打开和阅读中国知网等数据库中的CAJ格式文件。然而&#xff0c;有时候我们可能需要将这些CAJ文件转换为PDF格式&#xff0c;以便更方便地与他人分享或者进行打印。本文将介绍两到三种将CAJViewer文件转换为PDF格式的方…

华为OD机试真题2022Q4 A + 2023 B卷(JavaJavaScript)

大家好&#xff0c;我是哪吒。 五月份之前&#xff0c;如果你参加华为OD机试&#xff0c;收到的应该是2022Q4或2023Q1&#xff0c;这两个都是A卷题。 5月10日之后&#xff0c;很多小伙伴收到的是B卷&#xff0c;那么恭喜你看到本文了&#xff0c;抓紧刷题吧。B卷新题库正在更…

建站记录1:开通阿里云,购买域名,安装宝塔+LAMP系统

个人建站&#xff1a; 因为宝塔系统&#xff08;https://www.bt.cn&#xff09;&#xff0c;可以方便的部署zblog 彩色背景 什么是LAMP&#xff1f; Linux Apache PHP MySQL LAMP 是指Linux&#xff08;操作系统&#xff09; Apache &#xff08;HTTP 服务器&#xff09;…

batch_size对精确度和损失的影响

1 问题 在深度学习的学习过程中&#xff0c;模型性能对batchsize虽然没有学习率那么敏感&#xff0c;但是在进一步提升模型性能时&#xff0c;batch_size就会成为一个非常关键的参数。 batch_size对精度和损失的影响研究。 batch_size [,32,64,128&#xff0c;256] 不同batch_…

镕铭微电子VPU 极致降本增效实践

当前视频行业环境下&#xff0c;硬件芯片的机遇与挑战并存&#xff0c;如何使得硬件芯片产品及方案设计更好地贴近用户、服务用户及满足用户更深层次需求&#xff1f;本次LiveVideoStackCon 2022 北京站邀请到镕铭微电子解决方案架构总监——蔡媛Amy&#xff0c;为大家介绍镕铭…

【熬夜送书 | 第五期】清华社赞助 | 《MySQL系列丛书》

MySQL是什么? MySQL是一种关系型数据库管理系统&#xff0c;由瑞典MySQL AB公司开发。MySQL是最流行的关系型数据库管理系统之一&#xff0c;在WEB应用方面&#xff0c;MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 MySQL有…

Arduino esp32 环境配置以及避坑指南

目录 环境配置安装 IDE下载固件 项目测试疑难解答micropython 固件冲突问题 环境配置 安装 IDE 参考文献&#xff1a;CSDN 首先下载 Arduino IDE 请注意&#xff0c;一定要选择 1.8 版本的&#xff0c;千万别用 2.0版本&#xff01;&#xff01;&#xff01; 建议直接下载 win…

通过向量回归、随机森林回归、线性回归和K-最近邻回归将预测结果绘制成图表进行展示

文章目录 表格部分数据如下运行效果如下代码解析完整代码附件 表格部分数据如下 附件里会给出全部数据链接 运行效果如下 代码解析 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontPropertiesfont FontP…

webpack自动化打包webpack-dev-server

在前面的章节中我们每次改完要打包的资源文件&#xff0c;和配置文件都是是输入npx webpack命令手动打包的&#xff0c;那么有没有什么办法可以监听到我们代码的改动&#xff0c;在保存时就自动打包呢&#xff1f; 答案是当然有&#xff0c;不然哪些框架的脚手架是怎么实现保存…