什么是dao工厂模式

什么是dao工厂模式,第1张

DAO就是对数据里面的数据的增删改查的 *** 作,而工厂模式是对数据库连接的封装,不同数据库不同的连接(如代码2);

DAO的功能:

1、 DAO用来封装Data Source的;就比如,Connection conn = DAOFacotrycreateConnection();

就可以把Driver URL username, passpword这一些放在DAO中

以后要更改数据库的类型比如要把MSSQL换成Oracle的话;只需要更改DAOFacory里面的getConnection()里面的DriverURL之类的;

2、DAO也是把对数据库的 *** 作(比如最基本的CRUD *** 作)全部封装在里面;

比如要要插入一个新的用户;那么在DAO中只需要提供一个insertUser(User user)这一个方法就可以了;具体的 *** 作是在DAO中实现的;

那么对于要调用DAO的时候,只要知道insertUser(User)是用来插入一个新的用户;而不需要知道是如何实现的。

事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

1、原子性。一个事务是一个不可分割的工作单位,事务中包括的诸 *** 作要么都做,要么都不做。

2、一致性。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

3、隔离性。一个事务的执行不能被其他事务干扰。即一个事务内部的 *** 作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

4、持久性。指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他 *** 作或故障不应该对其有任何影响。

扩展资料

事务类型:

1、手动事务。手动事务允许显式处理若干过程,这些过程包括:开始事务、控制事务边界内的每个连接和资源登记、确定事务结果(提交或中止)以及结束事务。

2、自动事务。NET 页、XML Web services方法或 NET Framework 类一旦被标记为参与事务,它们将自动在事务范围内执行。可以通过在页、XML Web services 方法或类中设置一个事务属性值来控制对象的事务行为。

参考资料来源:百度百科——事务

不并发控制的话会带来一系列问题:数据冗余、更新异常、插入异常、删除异常等

并发控制保证事务4个特性,acid:a:原子性(atomicity)

事务是数据库的逻辑工作单位,事务中包括的诸 *** 作要么全做,要么全不做。c:一致性(consistency)

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。i:隔离性

(isolation)

一个事务的执行不能被其他事务干扰。

d:持续性/永久性(durability)

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

假设是innodb引擎,id是索引,那么在做update *** 作的时候是会加行级锁的,再怎么并发,对这一行数据来讲也是一条一条的执行的,这是纯数据库层面的 *** 作。结果应该是2

由于这条update语句修改的内容是累加数字,所以不会存在先后修改问题。

事务往往说的是应用程序在对数据库 *** 作的时候,保证数据的完整性, *** 作的原子性。就这个问题来看,没什么事务问题。

事务的原子性是指一个事务中的所有 *** 作是不可分割的,必须是一个逻辑单元,只能是全部执行成功或者全部执行失败。

事务的原子性是指事务必须是一个原子的 *** 作序列单元。事务中包含的各项 *** 作在一次执行过程中,只允许出现两种状态之一,要么都成功,要么都失败任何一项 *** 作都会导致整个事务的失败,同时其它已经被执行的 *** 作都将被撤销并回滚,只有所有的 *** 作全部成功,整个事务才算是成功完成。

事务原子性是如何保证的

MySQL事务的原子性是通过undo log来实现的。磁盘存数据采用的是随机存储的方式,这就使得在存放数据的时候不仅需要记录下存放的数据值,还需要记录存放数据的地址,存储速度相对比较慢。而日志存储是连续存储,因此在存数据的时候只需要记录下首地址即可,其余数据记录偏移量,可以进一步提高性能。

每一个写事务,都会修改BufferPool,从而产生相应的Redo/Undo日志,这些日志信息会被记录到日志文件中。在MySQL中,任何BufferPool中的页被刷新到磁盘之前,都会先写入到日志文件中,如果BufferPool中的数据提交,此时数据库挂了,那么在数据库再次启动之后,就可以通过Redo日志来将其恢复出来,以此来保证写的数据不会丢失。

如果数据没有提交,此时数据库挂了,就需要通过Undo日志来实现。每一条数据变更(insert/update/delete) *** 作都伴随一条undo log的生成,并且回滚日志必须先于数据持久化到磁盘上。所谓的回滚就是根据回滚日志做逆向 *** 作,比如delete的逆向 *** 作为insert,insert的逆向 *** 作为delete,update的逆向为update等。

即是数据库事务,数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列 *** 作,要么完全地执行,要么完全地不执行。

原子性(Atomic)(Atomicity) 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的 *** 作具有共同的目标,并且是相互依赖的。如果系统只执行这些 *** 作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理 *** 作子集的可能性。

一致性(Consistent)(Consistency) 事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。如,当开发用于转账的应用程序时,应避免在转账过程中任意移动小数点。隔离性(Insulation)(Isolation) 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为隔离性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。持久性(Duration)(Durability) 事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。

本条目介绍一下全球免费让公众使用的化合物及药物分子数据库,对化学及药物研究特别有用。

(注意:以下信息来自于美国MedKooBiosciences,Inc。)

1美国国家医学图书馆化学身份z(CHEMIDPLUS)数据库

该网页可检索药物化学结构,本网站可以用药物名称查找其化学结构此外,本数据库还可以查看毒性,理化性质,药品代码等。

2美国国家医学图书馆PUBCHEM数据库可检索药物化学结构

本数据库是美国国家健康研究所(NIH)和美国国家医学图书馆(NLM)的大型药物分子库。NIH是美国医学研究机构,下设27个机构和中心,也是美国健康与人类服务部的一个组成部分。它是一个重要的联邦机构,执行和支持基础、临床及可转化医学研究,调查普通及罕见疾病的原因、治疗及治愈情况。PubChem数据库是美国国家卫生署分子库路线图计划的一个组成部分,是由NIH国家生物技术信心中心开发的一个化学结构及分子生物活性综合数据库

3。美国国家癌症研究所(NCI)抗癌药药物词典

该数据收集了4000多条与癌症医学相关的术语和化合物性质。

4药物合成数据库(Drug)

该数据是这个药物在线网推出的数据库本数据库提供近7000种已上市或在研药物的药物合成相关的信息,如药品名、结构式、化学名、CAS登记号、分子式、分子量、化学活性、开发阶段、研究机构等。最大的优点是快速检索合成路线,并给出参考文献来源。

检索条件支持模糊查询,各输入条件间的检索关系为逻辑与(即AND关系)。检索条件选择其一即可查询。检索方法包括:

药物名称:(注:包含通用名、商标名、研发代号、异名等)。如Loratadine、Cefpirome

化学名称:(注:包含CA命名、普通命名等)。

CAS登记号:(注:美国化学文摘登记号)。

5有机合成方法数据库

Since1921,hasprovidedthechemistrycommunitywithannualcollectionsofdetailed,reliable,andcarefullycheckedproceresforthesynthesisoforganiccompoundsSomeproceresdescribepracticalmethodsforofspecificcompoundsofinterest,whileotherimportantsyntheticmethodswithgeneralutilityEachprocereiswritteninmoredetailascomparedtotypicalinotherjournals,andeachreactionandalldatahasbeencarefullycheckedforinthelaboratoryofamemberoftheBoardofEditors

Organicmaybeaessedeitherviathetablesofcontentsof(journalmode)orbyconctingstructureand(databasemode)SpecificindivialprocerescanbeaessedviathetableofcontentsforeithertheoriginalannualvolumevolumeinwhichtheprocereappearedDatabasemodeallowsuserstosearchallvolumesofOrganicSynthesesbykeywordsorbyinputtingstructuresandStructuretheChemDrawpluginwhichcanbedownloadedaordingtofoundintheleftmarginArticlesfromfuturevolumesofOrganicSynthesesthatarenotyetincorporatedinthesearchabledatabasecanbeaessedontheOrgSynExpresspage

6有机合成人名反应

该数据库是药物在线网推出的数据库TheOrganicNameReactions(ONR)sectionisintendedtoservetheprofessionalchemistandstudentbydescribingorganicchemicalreactionswhichhavecometoberecognizedandreferredtobynamewithinthechemistrycommunityAselectgrouphasbeenchosenforadditiontothissectionEachreactiondescriptionisdesignedtobeinformativeandrepresentativeofthepertinentliterature;however,itisnotmeanttobecomprehensiveThedescriptionsarecomposedofthefollowing:(1)name(s)associatedwiththereaction,(2)theoriginaland/orprimarycontributor(s)connectedwiththediscoveryand/ordevelopmentofthereaction,(3)aconcisedescriptionofthetransformation,(4)areactionscheme,(5)keyreferences,and(6)crossreferencestootherONRbasedoncommonalitiesTheindexincludedinthissectionalsolistssupplementaryterms

7有机合成反应库

该数据可是这个药物在线网推出的数据库含有400多个有机合成人名反应。

8化学物质索引数据库(ChemicalIndexDatabase)

该数据库是药物在线网推出的数据库。本数据库为化学物质特性数据库,包含大量具药理活性及生物活性的物质性质信息数据。检索条件支持模糊查询,各输入条件间的检索关系为逻辑与(即AND关系)。化学结构式为矢量格式,可利用系统自带预览工具或支持该格式的工具进行无损缩放查看。检索结果包括:(a)索引信息:如物质名称、化学结构式图、化学文摘登记号(CAS)、CA名称、商标名、化学结构式、分子式、分子量、元素组成等。(b)参考文献:提供公开物质理化性质、制备方法、分析方法、药理药效、临床研究等的重要期刊、专利、综述等极具参考价值的文献。(c)物质特性:包括理化特性数据,如熔点、沸点、闪点、溶解性、多晶物质状态、光谱吸收特征数据、药物治疗分类等

其检索的方法有:

物质名称(英文名):(包含化学名、通用名、商标名、异名等的全名或部分(大于3个字符),如Ceftriaxone,Adefovir)

CA登记号(CASRegistryNumber):

注:美国化学文摘登记号

参考文献(LiteratureReferences)

药理活性(Keywords)

用途(Usages)

治疗分类(TherapeuticCategory)

分子式(MolecularFormula)

分子量(MolecularWeight)

熔点(MeltingPoint)

注:熔点值,以摄氏度为单位

沸点(BoilingPoint)

注:沸点值,以摄氏度为单位

解离常数(pKa)

比旋度(OpticalRotation)

油水分配系数(LogP)

最大吸收值(AbsorptionMaximum)

密度(Density)

折光率(IndexofRefraction)

毒性数据(Toxicity)

以上就是关于什么是dao工厂模式全部的内容,包括:什么是dao工厂模式、什么叫做事务以及事务的四个特性、数据库恢复技术能保证事务的哪些特征等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9855302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存