我的编程空间,编程开发者的网络收藏夹
学习永远不晚

百融榕树利用Spring结合MyBatis实现数据库读写分离

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

百融榕树利用Spring结合MyBatis实现数据库读写分离

百融榕树智网AI技术,根据用户个人综合信用情况,为其推荐合适用户的产品和服务。用户登陆榕树界面,每个人能看到的产品信息都是不一样的,包括利率、期限和额度等。相比标准式服务,百融榕树已帮助用户做了筛选,为用户提供了定制化的贷款信息服务。

百融榕树采用技术Spring + mybatis
首先定义一个annotation

import java.lang.annotation.ElementType; import java.lang.annotation.Target; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface DataSource {  public String value(); }

百融榕树再定义一个HandleDataSource

public class HandleDataSource {  public static final ThreadLocal holder = new ThreadLocal();  public static void putDataSource(String datasource) {  holder.set(datasource);  }  public static String getDataSource() {  return holder.get();  } }

百融榕树定义一个切面

import java.lang.reflect.Method; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.reflect.MethodSignature; public class DataSourceAspect {  public void pointCut() {  };  public void before(JoinPoint point) {  Objecttarget = point.getTarget();// 拦截的实体类  String method = point.getSignature().getName();// 拦截的方法名称  Class[] classz = target.getClasss().getInterfaces();  Class[] parameterTypes = ((MethodSignature) point.getSignature()).getMethod().getParameterTypes();// 拦截的方法参数类型  try {  Method m = classz[0].getMethod(method, parameterTypes);  if (m != null && m.isAnnotationPresent(DataSource.class)) {  DataSource data = m.getAnnotation(DataSource.class);  HandleDataSource.putDataSource(data.value());  }  } catch (Exception e) {  e.printStackTrace();  }  } }

百融榕树获取数据源

import org.springfcamework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class ChooseDataSource extends AbstractRoutingDataSource {    protected Object determineCurrentLookupKey() {  return HandleDataSource.getDataSource();  }   }

百融榕树配置XMl

classpath*:mysql.propertiescom.mysql.jdbc.Driver${jdbc.url}${jdbc.user}${jdbc.passsword}SELECT 1 FROM DUAL32510010000 true 60com.mysql.jdbc.Driver${jdbc.url.read}${jdbc.user.read}${jdbc.password.read}SELECT 1 FROM DUAL32510010000true60

百融榕树注解到service接口上面



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

百融榕树利用Spring结合MyBatis实现数据库读写分离

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java程序员干货学习笔记—Spring结合MyBatis实现数据库读写分离

随着系统用户访问量的不断增加,数据库的频繁访问将成为我们系统的一大瓶颈之一。由于项目前期用户量不大,我们实现单一的数据库就能完成。但是后期单一的数据库根本无法支撑庞大的项目去访问数据库,那么如何解决这个问题呢?实际的应用中,数据库都是读多写
2023-06-02

在spring中使用mybatis实现对mysql数据库进行读写分离

这期内容当中小编将会给大家带来有关在spring中使用mybatis实现对mysql数据库进行读写分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言 在网站的用户达到一定规模后,数据库因为
2023-05-31

Spring+Mybatis 实现aop数据库读写分离与多数据库源配置操作

在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较
2023-05-31

如何在Spring中使用MyBatis实现数据的读写分离

如何在Spring中使用MyBatis实现数据的读写分离?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。其实现原理如下:通过Spring AOP对dao层接口进行
2023-05-31

利用amoeba(变形虫)实现mysql数据库读写分离

前期准备工作: 1.两个数据库,一主一从,主从同步; master: 172.22.10.237:3306 ;主库负责写入操作; slave: 10.4.66.58:3306 ; 从库负责读取操作; amoeba: 172.22.10.237:8066 ; 我
利用amoeba(变形虫)实现mysql数据库读写分离
2015-09-22

编程热搜

目录