一种基于mybatis的动态更新方法和装置制造方法及图纸

技术编号:37975071 阅读:28 留言:0更新日期:2023-06-30 09:50
本发明专利技术公开了一种基于mybatis的动态更新方法和装置。所述方法应用于软件开发人员,其方法主要体现为在实体映射动态变更更新字段,在Mybatis执行SqL语句前,根据实体变更列对更新SQL语句进行动态调整,以存在变更为依据,将原来全表更新的SQL缩减为只变更的字段,实现数据更新的最小化按需更新。本发明专利技术由3个模块构成Jar包装置,使用后sql更新语句按照当前用户操作的数据匹配进行列的选取,提高了并发场景下数据处理的容错性,提高了数据的一致性,有效降低了数据库的无效操作。有效降低了数据库的无效操作。有效降低了数据库的无效操作。

【技术实现步骤摘要】
一种基于mybatis的动态更新方法和装置


[0001]本专利技术涉及软件开发
,具体涉及一种基于mybatis的动态更新方法和装置。

技术介绍

[0002]MyBatis是apache的一个开源项目,以其灵活的查询与轻量的框架著称,是一个基于Java的持久层框架,由于MyBatis的映射采用实体属性与表的整体映射方式,相当于单个数据库表的所有字段在每次执行时都需要更新,在单个表存在不同用户权限在不同列上、不同功能或者并发操作时,一个表不同字段的操作由于读取数据和更新数据的时间之间存在时延,在多用户和并发操作时,会出现在同一张表中老数据覆盖新数据的问题,在实际应用中出现数据不一致,增加数据库负担,出现性能低下的问题。

技术实现思路

[0003]本专利技术的目的是提供一种基于mybatis的动态更新方法和装置,解决在一般开发中出现全表更新导致数据不一致和增加数据库计算负担的问题。
[0004]本专利技术所述的一种基于mybatis的动态更新方法,所述方法定义数据列比对方法并标志,以插件方式实现SQL更新语句的无效列剔本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于mybatis的动态更新方法,其特征在于:所述方法定义数据列比对方法并标志,以插件方式实现SQL更新语句的无效列剔除,以插件方式加载StatementHandler实现动态SQL的变更,其所述方法包括以下步骤,第一步,开发人员定义一个实体基类,以观察者模式监控实体属性字段数据的变更并且设置变更标志,所有动态更新表对应实体类从该基类继承,适配set方法实现字段更新的标志记录,构建通用比对方法,按照字段类型,加载场景和方法,定义统一的比对方法,实现监控模式的比对;第二步,构建Mybaits的StatementHandler插件,在执行update语句前,按照实体类标志的字段缩减SQL语句更新字段,实现按需更新,识别空数据字段,不做更新,如有必要,构建字段的数据版本,以日志方式保存至其他地方,形成数据数据修订的功能;第三步,在Mybaits配置文件中加载State...

【专利技术属性】
技术研发人员:魏东仪王国安彭家彦陈强杨国平党旭
申请(专利权)人:兰州飞天网景信息产业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1