您的位置:首页 > 其它

如何“修改”底层框架源码中的某些功能

2017-07-14 11:45 399 查看
背景:

公司项目中所有实体的id全部是通过数据库自增的方式设置的,这样当数据量很庞大的时候,就会出现录入数据超级慢的问题,因为数据库要遍历整个表的数据,获取到最大id才能插入一条数据。
提出解决方案:

新建一个ids表专门存储每张表的最大id和表名字,这样,当向某个表中插入数据的时候,先在ids表中查一下这个表对应的最大id,这样就不用遍历整个表了。
开始开发:

因为项目中已经写死,插入数据库数据全部用的是自增。让在每个插入数据的代码中加查询ids表实在是个不可取的方法,工作量可想而知。

因为我们插入数据的时候全部用的是bugumongo框架(当然如果你们的是MySQL数据库的话,是其他框架咯),先用反编译软件查看保存数据库数据的源代码。

查看源码。导出源码包



eclipse关联源码包



修改源码的方式,可以直接利用反编译软件得到源码包,然后修改源码,重新生成自己的jar,替换原来的jar包就可以了。(当这个过程有点繁琐)

这里采用重写获取最大id的方法。只要保证包名和源码中的完全一致就行。



这样就大功告成了。
当然有人可能会说用spring aop的方式加前置通知来实现这个功能。(大部分项目中这也是可以的,但这个方式有局限性。)
如有不懂的地方请联系本人qq:1913284695
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐