前段时间写了一篇基于mybatis实现的多数据源博客。感觉不是很好,这次打算加入git,来搭建一个基于Mybatis-Plus的多数据源项目
Mybatis-Plus就是香
前言:该项目分为master数据源与local数据源。假定master数据源为线上数据库,local为本地数据库。后续我们将通过xxl-job的方式,将线上(master)中的数据同步到本地(local)中
项目git地址 抽时间把项目提交到git仓库,方便大家直接克隆
sql文件已置于项目中,数据库使用的mysql
创建项目
我这里使用的idea,正常创建spring boot项目就行了。
sql
-- 创建master数据库
CREATE DATABASE db_master;
USE db_master;
-- 用户表
CREATE TABLE users(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键id',
username VARCHAR(20) NOT NULL COMMENT '用户名',
pwd VARCHAR(50) NOT NULL COMMENT '密码',
phone CHAR(11) NOT NULL COMMENT '手机号',
email VARCHAR(50) COMMENT '邮箱',
gender CHAR(1) COMMENT '性别 1-->男 0-->女',
age INT COMMENT '年龄',
created_time TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间',
updated_time TIMESTAMP NULL DEFAULT NULL COMMENT '修改时间',
deleted_time TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
type INT DEFAULT 1 COMMENT '状态 1-->启用 2-->禁用 3-->软删除'
)ENGINE=INNODB;
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('supperAdmin','admin123','13000000000','super@admin.com',1,20);
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('admin','admin','13200840033','admin@163.com',0,14);
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('wanggang','wanggang','13880443322','wang@gang.cn',1,36);
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('xiaobao','xiaobao','18736450102','xiao@bao.com',0,22);
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('zhaoxing','zhaoxing','18966004400','zhao@xing.com',1,29);
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('chenyun','chenyun','13987613540','chen@yun.com',1,25);
INSERT INTO users(username,pwd,phone,email,gender,age) VALUES('ouyangruixue','ouyangruixue','15344773322','ouyang@163.com',0,24);
-- 创建local数据库
CREATE DATABASE db_local;
USE db_local;
-- 本地库用户表
CREATE TABLE users(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键id',
username VARCHAR(20) NOT NULL COMMENT '用户名',
pwd VARCHAR(50) NOT NULL COMMENT '密码',
phone CHAR(11) NOT NULL COMMENT '手机号',
email VARCHAR(50) COMMENT '邮箱',
gender CHAR(1) COMMENT '性别 1-->男 0-->女',
age