`
dengyll
  • 浏览: 93823 次
社区版块
存档分类
最新评论

DRP总结之数据库的悲观锁

 
阅读更多

drp的遗留问题,之前看视频留下来的,一直没有完善所以就没有及时的写入博客里。

我感觉对数据进行加锁确实非常重要,我们在开发软件,而这些软件大都是用来对数据进行操作,所以就会有数据的正确性、安全性的问题,而加锁正是为了保证数据的完整性。下面就说一下目前我接触到的锁机制。

在drp项目里,分销商的主键采用了单独的表来生成,这样就会出现多个用户同时生成主键的问题,也就是存在访问共同资源的情况,我们都知道出现了这种情况就必须使用线程同步,保证数据在任何时刻,最多有一个线程访问,以保证数据的完整性。目前我知道的解决办法有以下两种:

1、在java中使用synchronized关键字对方法同步(synchronized加入到方法上和synchronized(this)两种写法含义是一样的,都是对对象加锁)。

2、可以使用数据库的悲观锁,下面重点说一下数据库的悲观锁,使用举例:

select value fromt_table_id where table_name=? for update

悲观锁是采用数据库机制实现的(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据),数据被锁住之后其它用户将无法查看,直到锁释放,而只有提交或回滚事务后锁才会释放,这样就保证了数据的正确性。注意:for update语句只能放在select语句中,因为查询时把数据锁住才有意义。

延伸:使用Hibernate对数据进行操作时,只有在查询开始之前(也就是 Hiberate 生成 SQL 之前)设定加锁,才会真正通过数据库的锁机制进行加锁处理,否则,数据已经通过不包含 for update子句的 Select SQL 加载进来,所谓数据库加锁也就无从谈起。)

还有乐观锁,以后我们会接触到... ...


分享到:
评论

相关推荐

    DRP系统数据库

    标题中的“DRP系统数据库”指的是分销资源计划(Distributed Resource Planning)系统的数据库,这是企业信息化管理中的一种重要工具,用于整合供应链上的销售、生产、库存等资源进行优化配置。DRP系统通常包括订单...

    java database drp数据库sql

    DRP,全称是Database Resource Planning,虽然这个缩写在IT领域并不常见,但在这里可能指的是数据库资源规划或者管理。SQL,Structured Query Language,结构化查询语言,是用于管理和处理关系型数据库的标准语言。...

    drp分销商库存管理数据库

    drp分销商库存管理 动力节点_王勇_Java项目视频_DRP完整版_资料_DRP分销资源计划物理模型

    用ssh做的drp其中包括oracle数据库脚本

    在这个场景中,通过SSH(Secure Shell)执行DRP涉及到远程服务器的安全连接和命令执行,而Oracle数据库脚本则用于数据备份、迁移或者恢复等操作。 SSH是一种网络协议,用于加密网络通信,特别是远程登录到服务器。...

    java大型企业DRP系统源码带sql数据库

    2. **数据库设计**:SQL数据库在DRP系统中起到关键作用。开发者可以学习到如何创建高效的数据模型,包括表结构设计、索引优化、事务处理等,这些都是保证系统性能的关键因素。 3. **业务逻辑处理**:DRP系统涉及到...

    DRP.zip_DRP_ajax+js 数据库_js_severlet_分销

    本实践系统名为DRP分销系统,采用的技术栈主要包括JS、Ajax、Servlet等,与MySQL数据库相结合,构建了一个动态、实时的数据交互平台。 **1. JS (JavaScript)** JavaScript是前端开发的核心语言,负责页面的动态交互...

    DRP完整版_资料_DRP培训日志

    在《动力节点_王勇_Java项目视频_DRP完整版_资料_DRP培训日志.pdf》这个文件中,你将可以深入学习到如何利用Java技术实现DRP系统,包括可能涉及到的数据库设计、接口开发、算法应用等内容。这将帮助IT专业人士了解...

    java大型企业DRP系统源码带sql数据库.zip

    6. **数据库设计**:SQL数据库在DRP系统中起着关键作用,可能使用MySQL、Oracle或PostgreSQL等。数据库设计包括ER图、表结构、索引优化、事务处理等,确保数据一致性与高效访问。 7. **JPA(Java Persistence API)...

    DRP项目思维导图

    DRP项目总结,仅此个人意见。DRP项目总结,仅此个人意见。

    drp.rar_DRP_drp sql

    SQL允许开发者高效地创建、查询、更新和管理数据库,从而支持DRP系统的实时数据处理和分析。例如,销售人员可以使用SQL查询来快速获取特定时间段内的销售报告,管理者则可以通过SQL更新库存信息,以适应市场变化。 ...

    基于J2EE的大型企业DRP系统源码(含l数据库)

    总结,本系统源码是学习J2EE和DRP系统理想的实践案例,涵盖了从基础的前端展现到复杂的后端处理,从单一功能模块到整体系统集成的全方位知识。无论是初学者还是经验丰富的开发者,都能从中受益匪浅,提升自己的IT...

    DRP快速入门

    在实施DRP过程中,需要明确哪些用户在哪些站点和数据库中负责具体的规划与执行功能,并确定这些用户对哪些MFG/PRO功能和数据库具有访问权限。这是通过系统的安全性设置来完成的,确保只有授权用户才能访问特定的数据...

    王勇老师讲解DRP系统源码

    本教程将深入探讨王勇老师讲解的基于Java开发的DRP系统源码,以及其与MySQL数据库的集成。 首先,让我们关注这个系统的编程语言基础——Java。Java是一种广泛应用于企业级应用开发的面向对象的编程语言,以其跨平台...

    医疗drp管理系统

    本案例中的“医疗DRP管理系统”是一个基于Java、JSP和Oracle数据库技术构建的应用系统。Java是一种广泛应用于服务器端开发的编程语言,以其跨平台性和安全性著称,为系统的稳定运行提供了坚实的基础。JSP(Java ...

    DRP完整版_资料_Oracle10G培训日志

    文档"000_25_动力节点_王勇_Java项目视频_DRP完整版_资料_Oracle10G培训日志.doc"可能包含了关于如何使用Java进行DRP系统的开发,以及如何与Oracle 10G数据库进行集成的详细教程。Java是一种广泛应用的编程语言,...

    王勇drp项目源码及文档

    3. **数据库模型**:这部分文档很可能描绘了DRP系统所使用的数据库模型,包括实体关系图(ER图)、表结构、字段说明等。通过数据库模型,我们可以了解系统是如何存储和管理信息的,这对于理解和优化数据处理流程非常...

    drp 6.4 源码

    DRP 6.4 的数据库设计至关重要,需要考虑数据的一致性、完整性和性能。源码中会有数据库连接、SQL查询和事务处理代码,可能采用关系型数据库如MySQL或Oracle,也可能涉及NoSQL数据库以处理大量非结构化数据。 8. *...

    DRP完整版_资料_DRP_HTML演示版本

    DRP,全称为Distribution Requirements Planning,即分销需求计划,是一种集成的企业管理方法,主要用于协调企业内部和外部资源,以满足客户订单的需求。这个压缩包文件“DRP完整版_资料_DRP_HTML演示版本”可能包含...

Global site tag (gtag.js) - Google Analytics