Maison base de données tutoriel mysql 教你如何来进行编写通用的数据访问_MySQL

教你如何来进行编写通用的数据访问_MySQL

Jun 01, 2016 pm 01:53 PM
如何 应用程序 服务器 用户

引言

  在负责咨询工作的过去 6 年中,我曾多次听说关于数据访问和操作方面的问题,它时刻困扰着用户:“如何编写应用程序,以便只需对其进行很少的改动或不进行改动即可使用数据库服务器 x、y 和 z?”由于知道数据访问层仍然是现代应用程序的最关键部分,并且通常是经验不足的开发人员的头号敌人,因此我的第一反应始终是:根本办不到!

  面对着人们惶惶不安的面孔以及“使用 Microsoft 在 ADO 中提供的通用数据访问方法如何?”这样的问题,我决定针对此问题提供更详细的说明以及建议的解决方案。

  问题在于,如果应用程序是较小的原型,或者如果并发用户较少并且数据访问逻辑比较简单,那么即使您选择下面这些最简单的方法,也不会遇到任何问题:使用 RAD 工具(如 Data Environment in Microsoft® Visual Basic® 6.0),或某些“一揽子”解决方案(如 ActiveX® Data Control 和其他第三方组件),这些解决方案通常会隐藏应用程序与特定数据源之间进行的复杂交互。然而,当用户数量增加使得必须解决并发操作问题时,由于频繁使用动态记录集、服务器端光标以及不必要的锁定策略,导致出现许多性能问题。为达到用户目标而必须对系统所做的设计和代码更改将花费您大量的时间,因为您从开始时就没有考虑过这一问题。

  使用通用数据访问方法

  在将 ADO 可靠地并入 MDAC(Microsoft Data Access Components 2.1 版)后,Microsoft 掀起了通用数据访问的使用高潮。其主导思想是向开发人员展示,通过使用简单的对象模型(“连接”、“命令”和“记录集”),可以编写出能够与各种不同的数据源(无论是关系数据源还是非关系数据源)连接的应用程序。文档(以及当时的大多数文章和示例)中通常未曾提及的是,即使使用相同的数据访问技术,各种数据源的可编程性和特征也千差万别。

  其结果是,在需要从多个数据源获取数据的应用程序中,最简单的方法是使用所有数据源所提供的功能的“共同点”,但因此会失去使用数据源特定选项的好处,即为访问和操作各种 RDBMS 中的信息提供最佳方法。

  我对该方法始终存在的怀疑是,经过与我的客户进行更详细的分析后,我们通常一致认为与应用程序中处理显示和业务逻辑的其他部分相比,与数据源进行交互的只是应用程序很小的一部分。通过进行精心的模块化设计,可以将 RDBMS 特定代码隔离在一些容易互换的模块中,从而避免对数据访问使用“通用”方法。然而,我们可以使用非常特定的数据访问代码(根据数据源的不同,使用存储过程、命令批处理和其他特性),而不触及其他大多数应用程序代码。这总是提醒大家:正确的设计是编写可移植的有效代码的关键。

    ADO.NET 将一些重要的变化引入到数据访问编码领域,如专用 .NET 数据提供程序这样的概念。使用特定的提供程序,可以绕过为数众多但有时没必要的一系列软件接口和服务(它们是 OLE DB 和 ODBC 层在数据访问代码与数据库服务器之间插入的内容),从而以最佳方式连接到数据源。但每个数据源仍然存在不同的特征和特性(具有不同的 SQL Dialect),且编写高效的应用程序仍然必须使用这些特定特征而不是“共同点”。从可移植性观点看来,托管和非托管的数据访问技术仍然非常类似。

  除“利用数据源的唯一特征”外,编写良好数据访问层所必需的其他规则对每个数据源通常都是相同的:

  • 在可能的情况下使用连接池机制。

  • 节约使用数据库服务器的有限资源。

  • 注意网络的往返。

  • 在适当的情况下,增强执行计划的重复使用率并避免重复编译。

  • 使用适当的锁定模型管理并发性。

  从我使用模块化设计方法的个人经验来看,整个应用程序中专用于处理特定数据源的代码量不会超过总量的 10%。显而易见,这比仅仅更改配置文件中的连接字符串更复杂,但我认为,这样做会获得性能收益,因此这是一个可接受的折衷办法。

  使用基本接口

  此处的目标是使用抽象,并将特定于特殊数据源的代码封装在类层中,从而使应用程序的其他部分独立于后端数据库服务器或免受其影响。

  .NET Framework 的面向对象这一特性将在该过程中为我们提供帮助,使我们能够选择要使用的抽象级别。选项之一是使用每个 .NET 数据提供程序都必须实现的基本接口(IDbConnection、IDbCommand、IDataReader 等)。另一个选项是创建一组类(数据访问层),用于管理应用程序的所有数据访问逻辑(例如,使用 CRUD 范例)。为检查这两种可能性,我们首先从基于 Northwind 数据库的订单输入应用程序示例入手,然后插入和检索不同数据源中的信息。

  数据提供程序基本接口标识应用程序与数据源进行交互通常所需的典型行为:

  • 定义连接字符串。

  • 打开和关闭与数据源的物理连接。

  • 定义命令和相关参数。

  • 执行可以创建的不同种类的命令。

  • 返回一组数据。

  • 返回标量值。

  • 对数据执行操作但不返回任何内容。

  • 对返回的数据集提供只向前型访问和只读型访问。

  • 定义使数据集与数据源(数据适配器)的内容保持同步所需的一组操作。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Mar 22, 2024 am 08:40 AM

Avec le développement rapide des médias sociaux, Xiaohongshu est devenue l'une des plateformes sociales les plus populaires. Les utilisateurs peuvent créer un compte Xiaohongshu pour montrer leur identité personnelle et communiquer et interagir avec d'autres utilisateurs. Si vous avez besoin de trouver le numéro Xiaohongshu d’un utilisateur, vous pouvez suivre ces étapes simples. 1. Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? 1. Ouvrez l'application Xiaohongshu, cliquez sur le bouton « Découvrir » dans le coin inférieur droit, puis sélectionnez l'option « Notes ». 2. Dans la liste des notes, recherchez la note publiée par l'utilisateur que vous souhaitez rechercher. Cliquez pour accéder à la page de détails de la note. 3. Sur la page de détails de la note, cliquez sur le bouton « Suivre » sous l'avatar de l'utilisateur pour accéder à la page d'accueil personnelle de l'utilisateur. 4. Dans le coin supérieur droit de la page d'accueil personnelle de l'utilisateur, cliquez sur le bouton à trois points et sélectionnez « Informations personnelles »

Impossible d'enregistrer les modifications apportées à l'erreur de l'application Photos dans Windows 11 Impossible d'enregistrer les modifications apportées à l'erreur de l'application Photos dans Windows 11 Mar 04, 2024 am 09:34 AM

Si vous rencontrez l'erreur Impossible d'enregistrer les modifications lors de l'utilisation de l'application Photos pour l'édition d'images sous Windows 11, cet article vous proposera des solutions. Impossible d'enregistrer les modifications. Une erreur s'est produite lors de l'enregistrement. Veuillez réessayer plus tard. Ce problème se produit généralement en raison de paramètres d'autorisation incorrects, d'une corruption de fichier ou d'une défaillance du système. Nous avons donc effectué des recherches approfondies et compilé certaines des étapes de dépannage les plus efficaces pour vous aider à résoudre ce problème et garantir que vous pouvez continuer à utiliser l'application Microsoft Photos de manière transparente sur votre appareil Windows 11. Correction de l'impossibilité d'enregistrer les modifications apportées à l'erreur de l'application Photos dans Windows 11. De nombreux utilisateurs ont parlé de l'erreur de l'application Microsoft Photos sur différents forums.

Photos ne peut pas ouvrir ce fichier car le format n'est pas pris en charge ou le fichier est corrompu Photos ne peut pas ouvrir ce fichier car le format n'est pas pris en charge ou le fichier est corrompu Feb 22, 2024 am 09:49 AM

Sous Windows, l'application Photos constitue un moyen pratique d'afficher et de gérer des photos et des vidéos. Grâce à cette application, les utilisateurs peuvent facilement accéder à leurs fichiers multimédia sans installer de logiciel supplémentaire. Cependant, les utilisateurs peuvent parfois rencontrer des problèmes, tels que le message d'erreur « Ce fichier ne peut pas être ouvert car le format n'est pas pris en charge » lors de l'utilisation de l'application Photos, ou une corruption de fichier lorsqu'ils tentent d'ouvrir des photos ou des vidéos. Cette situation peut être déroutante et gênante pour les utilisateurs, nécessitant des investigations et des correctifs pour résoudre les problèmes. Les utilisateurs voient l'erreur suivante lorsqu'ils tentent d'ouvrir des photos ou des vidéos sur l'application Photos. Désolé, Photos ne peut pas ouvrir ce fichier car le format n'est pas actuellement pris en charge ou le fichier

Comment connecter Apple Vision Pro au PC Comment connecter Apple Vision Pro au PC Apr 08, 2024 pm 09:01 PM

Le casque Apple Vision Pro n'est pas nativement compatible avec les ordinateurs, vous devez donc le configurer pour vous connecter à un ordinateur Windows. Depuis son lancement, Apple Vision Pro a été un succès, et avec ses fonctionnalités de pointe et son opérabilité étendue, il est facile de comprendre pourquoi. Bien que vous puissiez y apporter quelques ajustements pour l'adapter à votre PC et que ses fonctionnalités dépendent fortement d'AppleOS, ses fonctionnalités seront donc limitées. Comment connecter AppleVisionPro à mon ordinateur ? 1. Vérifiez la configuration système requise Vous avez besoin de la dernière version de Windows 11 (les PC personnalisés et les appareils Surface ne sont pas pris en charge) Prise en charge d'un processeur rapide 64 bits 2 GHz ou plus rapide GPU hautes performances, la plupart

MS Paint ne fonctionne pas correctement sous Windows 11 MS Paint ne fonctionne pas correctement sous Windows 11 Mar 09, 2024 am 09:52 AM

Microsoft Paint ne fonctionne pas sous Windows 11/10 ? Eh bien, cela semble être un problème courant et nous avons d'excellentes solutions pour le résoudre. Les utilisateurs se plaignent du fait que lorsqu'ils essaient d'utiliser MSPaint, celui-ci ne fonctionne pas et ne s'ouvre pas. Les barres de défilement de l'application ne fonctionnent pas, les icônes de collage ne s'affichent pas, plantent, etc. Heureusement, nous avons rassemblé certaines des méthodes de dépannage les plus efficaces pour vous aider à résoudre les problèmes liés à l'application Microsoft Paint. Pourquoi Microsoft Paint ne fonctionne-t-il pas ? Certaines raisons possibles pour lesquelles MSPaint ne fonctionne pas sur un PC Windows 11/10 sont les suivantes : L'identifiant de sécurité est corrompu. système suspendu

Connectez-vous à Ubuntu en tant que superutilisateur Connectez-vous à Ubuntu en tant que superutilisateur Mar 20, 2024 am 10:55 AM

Dans les systèmes Ubuntu, l'utilisateur root est généralement désactivé. Pour activer l'utilisateur root, vous pouvez utiliser la commande passwd pour définir un mot de passe, puis utiliser la commande su- pour vous connecter en tant que root. L'utilisateur root est un utilisateur disposant de droits d'administration système illimités. Il dispose des autorisations nécessaires pour accéder et modifier les fichiers, la gestion des utilisateurs, l'installation et la suppression de logiciels et les modifications de la configuration du système. Il existe des différences évidentes entre l'utilisateur root et les utilisateurs ordinaires. L'utilisateur root possède la plus haute autorité et des droits de contrôle plus étendus sur le système. L'utilisateur root peut exécuter des commandes système importantes et modifier des fichiers système, ce que les utilisateurs ordinaires ne peuvent pas faire. Dans ce guide, j'explorerai l'utilisateur root Ubuntu, comment se connecter en tant que root et en quoi il diffère d'un utilisateur normal. Avis

L'application Shazam ne fonctionne pas sur iPhone : correctif L'application Shazam ne fonctionne pas sur iPhone : correctif Jun 08, 2024 pm 12:36 PM

Vous rencontrez des problèmes avec l’application Shazam sur iPhone ? Shazam vous aide à trouver des chansons en les écoutant. Cependant, si Shazam ne fonctionne pas correctement ou ne reconnaît pas la chanson, vous devrez la dépanner manuellement. La réparation de l'application Shazam ne prendra pas longtemps. Alors, sans perdre plus de temps, suivez les étapes ci-dessous pour résoudre les problèmes avec l'application Shazam. Correctif 1 – Désactiver la fonctionnalité de texte en gras Le texte en gras sur iPhone peut être la raison pour laquelle Shazam ne fonctionne pas correctement. Étape 1 – Vous ne pouvez le faire qu’à partir des paramètres de votre iPhone. Alors, ouvrez-le. Étape 2 – Ensuite, ouvrez les paramètres « Affichage et luminosité ». Étape 3 – Si vous constatez que « Texte en gras » est activé

Qu'est-ce que sudo et pourquoi est-ce important ? Qu'est-ce que sudo et pourquoi est-ce important ? Feb 21, 2024 pm 07:01 PM

sudo (exécution du superutilisateur) est une commande clé dans les systèmes Linux et Unix qui permet aux utilisateurs ordinaires d'exécuter des commandes spécifiques avec les privilèges root. La fonction de sudo se reflète principalement dans les aspects suivants : Fournir un contrôle des autorisations : sudo réalise un contrôle strict sur les ressources système et les opérations sensibles en autorisant les utilisateurs à obtenir temporairement les autorisations de superutilisateur. Les utilisateurs ordinaires ne peuvent obtenir des privilèges temporaires via sudo qu'en cas de besoin et n'ont pas besoin de se connecter en permanence en tant que superutilisateur. Sécurité améliorée : en utilisant sudo, vous pouvez éviter d'utiliser le compte root lors des opérations de routine. L'utilisation du compte root pour toutes les opérations peut entraîner des dommages inattendus au système, car toute opération incorrecte ou imprudente bénéficiera de toutes les autorisations. et

See all articles