持久化层

2023-10-17 01:38
文章标签 持久 化层

本文主要是介绍持久化层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

持久化层:将业务逻辑与数据访问逻辑相分离
举例:window系统中磁盘读写操作与文件操作的分离
dao模式:data accessor模式(将数据访问加以封装,实现数据访问和业务逻辑的分离)和active domain object模式(实现业务数据的对象化封装javabean)的组合,即data access object
dao模式的优点:1、数据存储逻辑的分离
                               2、数据访问底层实现的分离(轻松部署在不同的数据库平台上)
                               3、资源管理和调度的分离(数据库连接池与缓存机制大大提高系统性能)
                               4、数据抽象(业务逻辑更加清晰简洁,利于日后维护)
daoFactory:实现底层访问实现的参数配置功能,为增强产品部署能力提供强有力的支持
导致持久层性能低下的重要原因:失败的资源管理调度机制
解决方法:数据库连接池
数据库连接池基本原理:在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法
数据库连接池优势:1、资源重用2、更快的系统响应速度3、新的资源分配手段4、统一的连接管理,避免数据库连接泄露
连接池常用组件:apache Jakarta Commons DBCP,Proxool
主流的几套JDBC封装框架:hibernateapache OJBibatisCMPtoplink
持久化框架的好处:减少乏味的代码、更加面向对象的设计、更好的性能、更好的移植性

持久层框架的实现,常见的有:Java系列:Apache OJB ()Cayenne ()Jaxor ()Hibernate ()iBatis ()jRelationalFramework ()mirage ()SMYLE ()TopLink ()其中 TopLink 是 Oracle 的商业产品,其他均为开源项目。其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位,甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准。而且其中的许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范的标准,这也是开源项目影响工业领域标准的有力见证。.Net系列:EntitysCodeGenerateLINQ TO SQLGroveRungoo.EnterpriseORMFireCode CreatorMyGenerationCodeSmith ProCodeAuto ...其中:EntitysCodeGenerate :是(VB/C#.Net实体代码生成工具)的简称,EntitysCodeGenerate(ECG)是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于面向对象、分层架构、ORM及反射+工厂模式等。支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、DM(达梦)、PowerDesigner文件、Informix、Firebird、MaxDB、Excel等和OleDb、ODBC连接的数据库并可自定义,详见工具的帮助文档和示例。LINQ TO SQL :微软为SqlServer数据库提供的,是.NET Framework 3.5 版的一个组件,提供了用于将关系数据作为对象管理的运行时基础结构。 Grove:即Grove ORM Development Toolkit。包含Grove和Toolkit两部分内容。Grove为ORM提供对象持久、关系对象查询、简单事务处理、简单异常管理等功能。 Rungoo.EnterpriseORM : 是一个基于企业应用架构的代码生成工具,主要适用于B/S模式的应用系统开发。开发语言:C#,支持VS2003和VS2005两个版本的开发平台,同时支持SQL Server2000/2005。 风越代码生成器 [FireCode Creator]是一款商业共享基于多种数据库的程序代码生成软件,可快速建立:添加、编辑、查看、列表、搜索功能。支持的数据库:SQL Server、Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接

这篇关于持久化层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222059

相关文章

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa

iptables持久化命令:netfilter-persistent save

在Linux上,使用netfilter-persistent命令可以保存iptables防火墙规则,确保它们在系统重启后仍然有效。以下是如何使用netfilter-persistent来保存iptables规则的步骤: 打开终端:首先,你需要打开Linux系统的终端。保存规则:使用netfilter-persistent save命令可以保存当前的iptables规则。这个命令会调用所有插件,将

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(2) (*****生成数据结构类的方式特别有趣****)-CSDN博客 做完了数据结构类,该做一个存储类了,也就是生成一个字典类(只是声明)  实现和上一节的数据结构类的方式大同小异,所

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(2) (*****生成数据结构类的方式特别有趣****)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(1)-CSDN博客 本节内容 实现目标 通过已经得到的Excel表格数据,生成对应类对象(不赋值),一张表就是一个对象,其中包含了如下的字段  就像这样子  实现思路 上

hibernate泛型Dao,让持久层简洁起来

【前言】hibernate作为持久层ORM技术,它对JDBC进行非常轻量级对象封装,使得我们可以随心所欲的使用面向对象的思想来操作数据库。同时,作为后台开发的支撑,的确扮演了一个举足轻重的角色,那么我们在项目中如何灵活应用hibernate,也会给项目维护以及项目开发带来便利,下面我将展示我们项目中是如何来对hibernate进行应用和操作。 【目录】              -

小程序端pinia持久化

index.ts // 创建 pinia 实例const pinia = createPinia()// 使用持久化存储插件pinia.use(persist)// 默认导出,给 main.ts 使用export default pinia main.ts import { createSSRApp } from 'vue'import pinia from './stores'

Unity数据持久化 之 使用Excel.DLL读写Excel表格

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ 终于找到一个比较方便容易读表的方式了,以前用json读写excel转的cvs格式文件我怎么使用怎么别扭,觉得太繁琐了 1.Excel.Dll       Excel.dll 是一个库文件,通常用于在C#等编程语言中处理Excel文件。它并不是一个插件,

uniapp微信小程序开发踩坑日记:Pinia持久化报错Cannot read property ‘localStorage‘ of undefined

插件默认使用 localStorage 实现持久化,小程序端不兼容,需要替换持久化 API import { defineStore } from 'pinia'   export const useCommonStore = defineStore('pack-store', {state: (): State => ({wwInfo: {},globalData: {},timerLoc

Hadoop Namenode元数据持久化机制与SecondaryNamenode的作用详解

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 我们都知道namenode是用来存储元数据的,他并不是用来存储真正的数据。 那么他的元数据怎么进行持久化呢! FsImage 文件系统的镜像文件叫fsImage,它包括了文件和块信息的映射,还有文件系统的属性信息。 datan

K8s的Pv和Pvc就是为了pod数据持久化

一、 1.pv(persistent volume):是k8s虚拟化的存储资源,实际上就是存储,列如本地的硬盘、网络文件系统(Nfs)、lvm、RAID、云存储。 2.pvc:pod对存储资源的请求,定义了需要存储的空间大小,以及对存储空间的访问模式,有了pvc请求之后,再和pv进行匹配,匹配到了之后进行绑定,绑定成功之后就可以使用pv的存储空间。 二、pv和pvc生命周期 1.配置定