当前位置: 首页 > news >正文

动易论坛官方网站莱州房产网房产信息

动易论坛官方网站,莱州房产网房产信息,织梦搬到WordPress,触屏网站模板背景介绍 现项目使用了两个数据源,分别为A、B,两个数据库的数据结构并不相同,数据库A是用来做查询一些基本信息的,数据库B是用来保留业务操作数据的。后端是在mapper层用DS注解来区分哪些地方用数据库A,而哪些地方用数…

背景介绍

现项目使用了两个数据源,分别为A、B,两个数据库的数据结构并不相同,数据库A是用来做查询一些基本信息的,数据库B是用来保留业务操作数据的。后端是在mapper层用@DS注解来区分哪些地方用数据库A,而哪些地方用数据库B的。

现在有个新需求,业务新增一个功能,用户可以在界面选择控制模式,有两个选项,分别是作战模式和训练模式,而业务需要展示对应模式的数据,也就是说需要新增一个数据库C,用来保留训练模式下的数据,原本的数据库B用来保留作战模式下的数据,但是不管在哪种模式下,数据库A是不需要切换的。

思路

在这个需求之前,原本是用@DS注解来做数据源的切换,然后我就想是否可以使用AOP来实现这个功能,写一个切面,以@DS注解作为切入点,在mybatis执行SQL前判断执行方法所属的对象上面是否有@DS("B")注解,如果有的话,则使用反射修改注解的值为@DS("C")。想着应该是可以的,最后几经波折代码也写出来了,结果却是出乎意外,完全没有效果。

最终解决

上面使用AOP最后并没有实现想要的功能,如果有大佬知道如何用AOP解决此需求,还望赐教。

我后面是使用mybatis拦截器解决的,在mybatis执行方法时,获取方法全路径,并获取SQL语句,然后判断方法全路径是否属于数据源B所属的包(数据源A和B的mapper层在不同的包下面),是的话则在SQL语句要执行的表前面加上数据库C的名字,如select * from table 修改为 select * from C.table。

亲测有效。但始终看着有点别扭,我想肯定还有其它方法,待我好好研究一翻再来更新吧。

http://www.yayakq.cn/news/236985/

相关文章:

  • 手机网站自动跳转北京做网站的外包公司
  • 网站优化排名工具百度网站怎样做推广
  • 苏州相城做网站哪家好专业seo优化外包
  • 做视频网站好做吗常德找工作网站
  • 做公司网站宣传公司蕲春县住房和城乡建设局网站
  • 好看大方的企业网站源码.net定制型网站建设价格
  • 阿米纳网站建设万全做网站wl17581
  • seo建站优化广告设计网站素材
  • 白银市建设管理处网站湖北北京网站建设
  • 加强网站建设的措施官方网站建设 在线磐石网络
  • 搜索设置 网站宿州网站建设多少钱
  • 网站前台做好之后再怎么做网站怎么提高百度权重
  • 网站参数做算命网站挣钱么
  • 做网站编辑的发展方向晋升佛山市建设工程有限公司
  • 微信属于营销型网站做网站有什么专业术语
  • 工程建设最好的网站文创产品设计作品案例欣赏
  • 鄂州网站网站建设新万网
  • 怎么建网站做网站开发待遇高吗
  • 东莞视频课程网站建设搜索引擎优化人员优化
  • 中国建设银行网站网上银行网站cdn+自己做
  • 网站h标签wordpress 博客主题推荐
  • 手机网站建设策划书网站建设捌金手指专业9
  • 卖渔具的亲戚做网站中国大连网站
  • 河北建设工程招标网官方网站互联网公司十大排名
  • 大鹏新区住房和建设局网站如何搭建局域网服务器
  • 湖北建设厅举报网站自己做网站需要花钱吗
  • 惠州网站优化网站,商城,app 建设
  • 江山网站设计自己的服务器建网站
  • 可以个人做单的猎头网站wordpress教程nginx
  • 现在做网站建设挣钱吗wordpress编辑器美化