【技术实现步骤摘要】
一种基于mybatis的动态更新方法和装置
[0001]本专利技术涉及软件开发
,具体涉及一种基于mybatis的动态更新方法和装置。
技术介绍
[0002]MyBatis是apache的一个开源项目,以其灵活的查询与轻量的框架著称,是一个基于Java的持久层框架,由于MyBatis的映射采用实体属性与表的整体映射方式,相当于单个数据库表的所有字段在每次执行时都需要更新,在单个表存在不同用户权限在不同列上、不同功能或者并发操作时,一个表不同字段的操作由于读取数据和更新数据的时间之间存在时延,在多用户和并发操作时,会出现在同一张表中老数据覆盖新数据的问题,在实际应用中出现数据不一致,增加数据库负担,出现性能低下的问题。
技术实现思路
[0003]本专利技术的目的是提供一种基于mybatis的动态更新方法和装置,解决在一般开发中出现全表更新导致数据不一致和增加数据库计算负担的问题。
[0004]本专利技术所述的一种基于mybatis的动态更新方法,所述方法定义数据列比对方法并标志,以插件方式实现SQ ...
【技术保护点】
【技术特征摘要】
1.一种基于mybatis的动态更新方法,其特征在于:所述方法定义数据列比对方法并标志,以插件方式实现SQL更新语句的无效列剔除,以插件方式加载StatementHandler实现动态SQL的变更,其所述方法包括以下步骤,第一步,开发人员定义一个实体基类,以观察者模式监控实体属性字段数据的变更并且设置变更标志,所有动态更新表对应实体类从该基类继承,适配set方法实现字段更新的标志记录,构建通用比对方法,按照字段类型,加载场景和方法,定义统一的比对方法,实现监控模式的比对;第二步,构建Mybaits的StatementHandler插件,在执行update语句前,按照实体类标志的字段缩减SQL语句更新字段,实现按需更新,识别空数据字段,不做更新,如有必要,构建字段的数据版本,以日志方式保存至其他地方,形成数据数据修订的功能;第三步,在Mybaits配置文件中加载State...
【专利技术属性】
技术研发人员:魏东仪,王国安,彭家彦,陈强,杨国平,党旭,
申请(专利权)人:兰州飞天网景信息产业有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。