~
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.baomidou.dynamic.datasource.annotation;
|
||||
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 数据源切换注解
|
||||
*
|
||||
*
|
||||
* @date 2022/6/14 18:14
|
||||
**/
|
||||
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface DS {
|
||||
|
||||
/**
|
||||
* 组名称或特定的数据库名称或spring SPEL名称。
|
||||
*
|
||||
*
|
||||
* @date 2022/6/14 18:15
|
||||
**/
|
||||
String value();
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.baomidou.dynamic.datasource.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*
|
||||
* @date 2022/6/14 18:15
|
||||
**/
|
||||
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface DSTransactional {
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.baomidou.dynamic.datasource.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 主数据源
|
||||
*
|
||||
*
|
||||
* @date 2022/6/14 18:15
|
||||
**/
|
||||
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
@DS("master")
|
||||
public @interface Master {
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.baomidou.dynamic.datasource.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 从数据源
|
||||
*
|
||||
*
|
||||
* @date 2022/6/14 18:15
|
||||
**/
|
||||
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
@DS("slave")
|
||||
public @interface Slave {
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
|
||||
package mjkf.xinke.dbs.api;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据源API接口
|
||||
*
|
||||
*
|
||||
* @date 2022/3/8 16:30
|
||||
**/
|
||||
public interface DbsApi {
|
||||
|
||||
/**
|
||||
* 获取默认的数据源名称
|
||||
*
|
||||
*
|
||||
* @date 2022/3/11 14:25
|
||||
**/
|
||||
String getDefaultDataSourceName();
|
||||
|
||||
/**
|
||||
* 获取当前正在使用的数据源名称
|
||||
*
|
||||
*
|
||||
* @date 2022/3/8 16:31
|
||||
**/
|
||||
String getCurrentDataSourceName();
|
||||
|
||||
/**
|
||||
* 获取当前正在使用的数据源ID
|
||||
*
|
||||
*
|
||||
* @date 2022/8/5 14:01
|
||||
**/
|
||||
String getCurrentDataSourceId();
|
||||
|
||||
/**
|
||||
* 获取当前正在使用的数据源
|
||||
*
|
||||
*
|
||||
* @date 2022/3/8 16:31
|
||||
**/
|
||||
DataSource getCurrentDataSource();
|
||||
|
||||
/**
|
||||
* 切换数据源
|
||||
*
|
||||
* @param name 数据源名称
|
||||
*
|
||||
* @date 2022/3/8 16:31
|
||||
**/
|
||||
void changeDataSource(String name);
|
||||
|
||||
/**
|
||||
* 获取数据源详情
|
||||
*
|
||||
*
|
||||
* @date 2022/7/11 17:53
|
||||
*/
|
||||
JSONObject dbsDetail(String dbsId);
|
||||
|
||||
/**
|
||||
* 获取全部数据源列表
|
||||
*
|
||||
*
|
||||
* @date 2022/7/11 17:53
|
||||
*/
|
||||
List<JSONObject> dbsSelector();
|
||||
|
||||
/**
|
||||
* 获取租户数据源列表,只查询租户类型数据源
|
||||
*
|
||||
*
|
||||
* @date 2022/7/11 17:53
|
||||
*/
|
||||
List<JSONObject> tenDbsSelector();
|
||||
|
||||
/**
|
||||
* 根据表名称获取字段名称列表
|
||||
*
|
||||
*
|
||||
* @date 2022/7/19 18:47
|
||||
**/
|
||||
List<String> tableColumns(String tableName);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
package mjkf.xinke.dbs.core.consts;
|
||||
|
||||
/**
|
||||
* 数据源 plugin 常量
|
||||
*
|
||||
* @author : dongxiayu
|
||||
* @date : 2022/3/8 10:14
|
||||
*/
|
||||
public interface DbsConstant {
|
||||
|
||||
/**
|
||||
* 主数据源名称
|
||||
*/
|
||||
String MASTER_DATASOURCE_NAME = "MASTER";
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user