# swids **Repository Path**: hackjiyi/swids ## Basic Information - **Project Name**: swids - **Description**: SAAS 类型的项目动态切换数据源演示案例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-06-13 - **Last Updated**: 2022-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 概述 本项目用来演示SAAS类型的项目中动态切换数据源功能的实现 ### 数据库脚本 ```sql # 创建名称为 mybatis_plus 的数据库 # 然后依次执行下面的脚本来创建表和插入数据 -- auto-generated definition CREATE TABLE people_config ( id BIGINT AUTO_INCREMENT COMMENT '主键Id' PRIMARY KEY, empl_id VARCHAR(255) NULL COMMENT '职员Id', phone VARCHAR(255) NULL COMMENT '手机号', name VARCHAR(255) NULL COMMENT '姓名', area_id VARCHAR(255) NULL COMMENT '区域Id', area_name VARCHAR(255) NULL COMMENT '区域名称', dept_id VARCHAR(255) NULL COMMENT '部门Id', dept_name VARCHAR(255) NULL COMMENT '部门名称', create_time DATETIME NULL COMMENT '提交时间', create_user VARCHAR(255) NULL COMMENT '创建人', create_id VARCHAR(255) NULL COMMENT '创建人Id', update_time DATETIME NULL COMMENT '修改时间', update_user VARCHAR(255) NULL COMMENT '修改人', update_id VARCHAR(255) NULL COMMENT '修改人_id', is_delete INT NULL COMMENT '是否删除' ); INSERT INTO mybatis_plus.people_config (id, empl_id, phone, name, area_id, area_name, dept_id, dept_name, create_time, create_user, create_id, update_time, update_user, update_id, is_delete) VALUES (1, 'p职员1', '17343759359', 'isWulongbo', '波波区域', '1区块链', '1', '开发部', '2020-12-05 15:12:00', '波波', '1', null, null, null, 0); INSERT INTO mybatis_plus.people_config (id, empl_id, phone, name, area_id, area_name, dept_id, dept_name, create_time, create_user, create_id, update_time, update_user, update_id, is_delete) VALUES (2, 'p职员2', '13549553864', 'isWulongtao', '涛涛区域', '2区块链', '2', '军区部', '2020-12-05 16:07:59', '涛涛', '2', null, null, null, 0); -- auto-generated definition CREATE TABLE tenant_info ( id BIGINT AUTO_INCREMENT COMMENT '主键id' PRIMARY KEY, tenant_id VARCHAR(255) NULL COMMENT '租户id', tenant_name VARCHAR(255) NULL COMMENT '租户名称', datasource_url VARCHAR(255) NULL COMMENT '数据源url', datasource_username VARCHAR(255) NULL COMMENT '数据源用户名', datasource_password VARCHAR(255) NULL COMMENT '数据源密码', datasource_driver VARCHAR(255) NULL COMMENT '数据源驱动', system_account VARCHAR(255) NULL COMMENT '系统账号', system_password VARCHAR(255) NULL COMMENT '账号密码', system_project VARCHAR(255) NULL COMMENT '系统PROJECT', status INT NULL COMMENT '是否启用(1是0否)', create_time DATETIME NULL COMMENT '创建时间', update_time DATETIME NULL COMMENT '更新时间' ); INSERT INTO mybatis_plus.tenant_info (id, tenant_id, tenant_name, datasource_url, datasource_username, datasource_password, datasource_driver, system_account, system_password, system_project, status, create_time, update_time) VALUES (1, 'localp', 'test1', 'jdbc:mysql://127.0.0.1:3306/mybatis_plus?serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull', 'root', 'chanchaw', 'com.mysql.cj.jdbc.Driver', 'baba', '123456', '管理', 1, '2020-12-05 14:50:50', null); INSERT INTO mybatis_plus.tenant_info (id, tenant_id, tenant_name, datasource_url, datasource_username, datasource_password, datasource_driver, system_account, system_password, system_project, status, create_time, update_time) VALUES (2, 'localone', 'test2', 'jdbc:mysql://127.0.0.1:3306/mybatis_plus_one?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai', 'root', 'chanchaw', 'com.mysql.cj.jdbc.Driver', 'baba2', '123456', 'admin', 1, '2020-12-05 15:06:38', null); INSERT INTO mybatis_plus.tenant_info (id, tenant_id, tenant_name, datasource_url, datasource_username, datasource_password, datasource_driver, system_account, system_password, system_project, status, create_time, update_time) VALUES (3, 'cloud', 'test3', 'jdbc:mysql://182.000.000.227:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai', 'root', '!Xdf123456', 'com.mysql.cj.jdbc.Driver', 'baba3', '123456', 'root', 1, '2020-12-05 16:16:21', null); # 再创建一个名称为 mybatis_plus_one 的数据库用于测试动态切换数据源 # 然后执行下面的脚本创建表并插入数据 -- auto-generated definition CREATE TABLE people_config ( id BIGINT AUTO_INCREMENT COMMENT '主键Id' PRIMARY KEY, empl_id VARCHAR(255) NULL COMMENT '职员Id', phone VARCHAR(255) NULL COMMENT '手机号', name VARCHAR(255) NULL COMMENT '姓名', area_id VARCHAR(255) NULL COMMENT '区域Id', area_name VARCHAR(255) NULL COMMENT '区域名称', dept_id VARCHAR(255) NULL COMMENT '部门Id', dept_name VARCHAR(255) NULL COMMENT '部门名称', create_time DATETIME NULL COMMENT '提交时间', create_user VARCHAR(255) NULL COMMENT '创建人', create_id VARCHAR(255) NULL COMMENT '创建人Id', update_time DATETIME NULL COMMENT '修改时间', update_user VARCHAR(255) NULL COMMENT '修改人', update_id VARCHAR(255) NULL COMMENT '修改人_id', is_delete INT NULL COMMENT '是否删除' ); INSERT INTO mybatis_plus_one.people_config (id, empl_id, phone, name, area_id, area_name, dept_id, dept_name, create_time, create_user, create_id, update_time, update_user, update_id, is_delete) VALUES (1, 'one职员', '17343759359', 'isWulongbo', '波波区域', '1区块链', '1', '开发部', '2020-12-05 15:12:00', '波波', '1', null, null, null, 0); ``` ### java 源码 源码仓库地址: https://gitee.com/chanchaw/swids.git