溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

百融榕樹利用Spring結(jié)合MyBatis實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離

發(fā)布時(shí)間:2020-05-25 10:14:45 來源:網(wǎng)絡(luò) 閱讀:990 作者:沆瀣一氣 欄目:MySQL數(shù)據(jù)庫

百融榕樹智網(wǎng)AI技術(shù),根據(jù)用戶個(gè)人綜合信用情況,為其推薦合適用戶的產(chǎn)品和服務(wù)。用戶登陸榕樹界面,每個(gè)人能看到的產(chǎn)品信息都是不一樣的,包括利率、期限和額度等。相比標(biāo)準(zhǔn)式服務(wù),百融榕樹已幫助用戶做了篩選,為用戶提供了定制化的貸款信息服務(wù)。

百融榕樹采用技術(shù)Spring?+ mybatis
首先定義一個(gè)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(); }

百融榕樹再定義一個(gè)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(); ?} }

百融榕樹定義一個(gè)切面

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();// 攔截的實(shí)體類 ?String method = point.getSignature().getName();// 攔截的方法名稱? Class[] classz = target.getClasss().getInterfaces(); ?Class[] parameterTypes = ((MethodSignature) point.getSignature()).getMethod().getParameterTypes();// 攔截的方法參數(shù)類型? 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(); ?} ?} }

百融榕樹獲取數(shù)據(jù)源

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接口上面



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI