style(all): 使用IDEA默认的格式化方案
This commit is contained in:
parent
07a5419a5c
commit
89a4ffae18
@ -1,26 +1,18 @@
|
|||||||
package com.baomidou.samples.dynamicload.controller;
|
package com.baomidou.samples.dynamicload.controller;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
|
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
|
||||||
import com.baomidou.dynamic.datasource.creator.BasicDataSourceCreator;
|
import com.baomidou.dynamic.datasource.creator.*;
|
||||||
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.creator.DruidDataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.creator.HikariDataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.creator.JndiDataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
import com.baomidou.samples.dynamicload.dto.DataSourceDTO;
|
import com.baomidou.samples.dynamicload.dto.DataSourceDTO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import java.util.Set;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import javax.sql.DataSource;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import java.util.Set;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
package com.baomidou.samples.dynamicload.dto;
|
package com.baomidou.samples.dynamicload.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import javax.validation.constraints.NotBlank;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @date 2020/1/27
|
* @date 2020/1/27
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.druid.mybatis.mapper;
|
package com.baomidou.samples.druid.mybatis.mapper;
|
||||||
|
|
||||||
import com.baomidou.samples.druid.mybatis.entity.User;
|
import com.baomidou.samples.druid.mybatis.entity.User;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface UserMapper {
|
public interface UserMapper {
|
||||||
|
|
||||||
@Insert("INSERT INTO user (name,age) values (#{name},#{age})")
|
@Insert("INSERT INTO user (name,age) values (#{name},#{age})")
|
||||||
|
@ -2,6 +2,7 @@ package com.baomidou.samples.druid.mybatis.service;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.samples.druid.mybatis.entity.User;
|
import com.baomidou.samples.druid.mybatis.entity.User;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface UserService {
|
public interface UserService {
|
||||||
|
@ -5,10 +5,11 @@ import com.baomidou.dynamic.datasource.annotation.DS;
|
|||||||
import com.baomidou.samples.druid.mybatis.entity.User;
|
import com.baomidou.samples.druid.mybatis.entity.User;
|
||||||
import com.baomidou.samples.druid.mybatis.mapper.UserMapper;
|
import com.baomidou.samples.druid.mybatis.mapper.UserMapper;
|
||||||
import com.baomidou.samples.druid.mybatis.service.UserService;
|
import com.baomidou.samples.druid.mybatis.service.UserService;
|
||||||
import java.util.List;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class UserServiceImpl implements UserService {
|
public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
|
@ -3,13 +3,14 @@ package com.baomidou.samples.druid.mybatis.test;
|
|||||||
import com.baomidou.samples.druid.mybatis.DruidMybatisApplication;
|
import com.baomidou.samples.druid.mybatis.DruidMybatisApplication;
|
||||||
import com.baomidou.samples.druid.mybatis.entity.User;
|
import com.baomidou.samples.druid.mybatis.entity.User;
|
||||||
import com.baomidou.samples.druid.mybatis.service.UserService;
|
import com.baomidou.samples.druid.mybatis.service.UserService;
|
||||||
import java.util.Random;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = DruidMybatisApplication.class)
|
@SpringBootTest(classes = DruidMybatisApplication.class)
|
||||||
public class DruidMybatisApplicationTest {
|
public class DruidMybatisApplicationTest {
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.jdbc;
|
package com.baomidou.samples.jdbc;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class Application {
|
public class Application {
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.baomidou.samples.jdbc.service;
|
package com.baomidou.samples.jdbc.service;
|
||||||
|
|
||||||
import com.baomidou.samples.jdbc.entity.User;
|
import com.baomidou.samples.jdbc.entity.User;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface UserService {
|
public interface UserService {
|
||||||
|
@ -4,11 +4,12 @@ package com.baomidou.samples.jdbc.service.impl;
|
|||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.samples.jdbc.entity.User;
|
import com.baomidou.samples.jdbc.entity.User;
|
||||||
import com.baomidou.samples.jdbc.service.UserService;
|
import com.baomidou.samples.jdbc.service.UserService;
|
||||||
import java.util.List;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class UserServiceImpl implements UserService {
|
public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
|
@ -3,13 +3,14 @@ package com.baomidou.samples.jdbc.test;
|
|||||||
import com.baomidou.samples.jdbc.Application;
|
import com.baomidou.samples.jdbc.Application;
|
||||||
import com.baomidou.samples.jdbc.entity.User;
|
import com.baomidou.samples.jdbc.entity.User;
|
||||||
import com.baomidou.samples.jdbc.service.UserService;
|
import com.baomidou.samples.jdbc.service.UserService;
|
||||||
import java.util.Random;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
public class ApplicationTest {
|
public class ApplicationTest {
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.mybatis.mapper;
|
package com.baomidou.samples.mybatis.mapper;
|
||||||
|
|
||||||
import com.baomidou.samples.mybatis.entity.User;
|
import com.baomidou.samples.mybatis.entity.User;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
//@DS("slave")这里可以使用但不建议,不要和service同时使用
|
//@DS("slave")这里可以使用但不建议,不要和service同时使用
|
||||||
public interface UserMapper {
|
public interface UserMapper {
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.baomidou.samples.mybatis.service;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.samples.mybatis.entity.User;
|
import com.baomidou.samples.mybatis.entity.User;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface UserService {
|
public interface UserService {
|
||||||
|
@ -5,10 +5,11 @@ import com.baomidou.dynamic.datasource.annotation.DS;
|
|||||||
import com.baomidou.samples.mybatis.entity.User;
|
import com.baomidou.samples.mybatis.entity.User;
|
||||||
import com.baomidou.samples.mybatis.mapper.UserMapper;
|
import com.baomidou.samples.mybatis.mapper.UserMapper;
|
||||||
import com.baomidou.samples.mybatis.service.UserService;
|
import com.baomidou.samples.mybatis.service.UserService;
|
||||||
import java.util.List;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class UserServiceImpl implements UserService {
|
public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
|
@ -4,13 +4,14 @@ package com.baomidou.samples.mybatis.test;
|
|||||||
import com.baomidou.samples.mybatis.Application;
|
import com.baomidou.samples.mybatis.Application;
|
||||||
import com.baomidou.samples.mybatis.entity.User;
|
import com.baomidou.samples.mybatis.entity.User;
|
||||||
import com.baomidou.samples.mybatis.service.UserService;
|
import com.baomidou.samples.mybatis.service.UserService;
|
||||||
import java.util.Random;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
public class ApplicationTest {
|
public class ApplicationTest {
|
||||||
|
@ -3,13 +3,14 @@ package com.baomidou.samples.mybatisplus2.test;
|
|||||||
import com.baomidou.samples.mybatisplus2.Application;
|
import com.baomidou.samples.mybatisplus2.Application;
|
||||||
import com.baomidou.samples.mybatisplus2.entity.User;
|
import com.baomidou.samples.mybatisplus2.entity.User;
|
||||||
import com.baomidou.samples.mybatisplus2.service.UserService;
|
import com.baomidou.samples.mybatisplus2.service.UserService;
|
||||||
import java.util.Random;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
public class ApplicationTest {
|
public class ApplicationTest {
|
||||||
|
@ -3,13 +3,14 @@ package com.baomidou.samples.mybatisplus3.test;
|
|||||||
import com.baomidou.samples.mybatisplus.Application;
|
import com.baomidou.samples.mybatisplus.Application;
|
||||||
import com.baomidou.samples.mybatisplus.entity.User;
|
import com.baomidou.samples.mybatisplus.entity.User;
|
||||||
import com.baomidou.samples.mybatisplus.service.UserService;
|
import com.baomidou.samples.mybatisplus.service.UserService;
|
||||||
import java.util.Random;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
public class ApplicationTest {
|
public class ApplicationTest {
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
package com.baomidou.samples.nest;
|
package com.baomidou.samples.nest;
|
||||||
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.context.event.ApplicationStartedEvent;
|
import org.springframework.boot.context.event.ApplicationStartedEvent;
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class CreateDatabaseOnStarted implements ApplicationListener<ApplicationStartedEvent> {
|
public class CreateDatabaseOnStarted implements ApplicationListener<ApplicationStartedEvent> {
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.nest.mapper;
|
package com.baomidou.samples.nest.mapper;
|
||||||
|
|
||||||
import com.baomidou.samples.nest.entiry.Student;
|
import com.baomidou.samples.nest.entiry.Student;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface StudentMapper {
|
public interface StudentMapper {
|
||||||
|
|
||||||
@Insert("INSERT INTO student (name,age) values (#{name},#{age})")
|
@Insert("INSERT INTO student (name,age) values (#{name},#{age})")
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.nest.mapper;
|
package com.baomidou.samples.nest.mapper;
|
||||||
|
|
||||||
import com.baomidou.samples.nest.entiry.Teacher;
|
import com.baomidou.samples.nest.entiry.Teacher;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface TeacherMapper {
|
public interface TeacherMapper {
|
||||||
|
|
||||||
@Insert("INSERT INTO teacher (name,age) values (#{name},#{age})")
|
@Insert("INSERT INTO teacher (name,age) values (#{name},#{age})")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.baomidou.samples.nest.service;
|
package com.baomidou.samples.nest.service;
|
||||||
|
|
||||||
import com.baomidou.samples.nest.entiry.Student;
|
import com.baomidou.samples.nest.entiry.Student;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface StudentService {
|
public interface StudentService {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.baomidou.samples.nest.service;
|
package com.baomidou.samples.nest.service;
|
||||||
|
|
||||||
import com.baomidou.samples.nest.entiry.Teacher;
|
import com.baomidou.samples.nest.entiry.Teacher;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,11 +4,12 @@ import com.baomidou.dynamic.datasource.annotation.DS;
|
|||||||
import com.baomidou.samples.nest.entiry.Student;
|
import com.baomidou.samples.nest.entiry.Student;
|
||||||
import com.baomidou.samples.nest.mapper.StudentMapper;
|
import com.baomidou.samples.nest.mapper.StudentMapper;
|
||||||
import com.baomidou.samples.nest.service.StudentService;
|
import com.baomidou.samples.nest.service.StudentService;
|
||||||
import java.util.List;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@DS("student")
|
@DS("student")
|
||||||
public class StudentServiceImpl implements StudentService {
|
public class StudentServiceImpl implements StudentService {
|
||||||
|
@ -5,12 +5,13 @@ import com.baomidou.samples.nest.entiry.Teacher;
|
|||||||
import com.baomidou.samples.nest.mapper.TeacherMapper;
|
import com.baomidou.samples.nest.mapper.TeacherMapper;
|
||||||
import com.baomidou.samples.nest.service.StudentService;
|
import com.baomidou.samples.nest.service.StudentService;
|
||||||
import com.baomidou.samples.nest.service.TeacherService;
|
import com.baomidou.samples.nest.service.TeacherService;
|
||||||
import java.util.List;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@DS("teacher")
|
@DS("teacher")
|
||||||
public class TeacherServiceImpl implements TeacherService {
|
public class TeacherServiceImpl implements TeacherService {
|
||||||
|
@ -5,13 +5,14 @@ import com.baomidou.samples.nest.Application;
|
|||||||
import com.baomidou.samples.nest.service.SchoolService;
|
import com.baomidou.samples.nest.service.SchoolService;
|
||||||
import com.baomidou.samples.nest.service.StudentService;
|
import com.baomidou.samples.nest.service.StudentService;
|
||||||
import com.baomidou.samples.nest.service.TeacherService;
|
import com.baomidou.samples.nest.service.TeacherService;
|
||||||
import java.util.Random;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.seata.dto;
|
package com.baomidou.samples.seata.dto;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@ -2,10 +2,11 @@ package com.baomidou.samples.seata.entity;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import java.util.Date;
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
public class Account {
|
public class Account {
|
||||||
|
@ -2,10 +2,11 @@ package com.baomidou.samples.seata.entity;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import java.util.Date;
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
public class Product {
|
public class Product {
|
||||||
|
@ -5,12 +5,13 @@ import com.baomidou.samples.seata.dao.AccountDao;
|
|||||||
import com.baomidou.samples.seata.entity.Account;
|
import com.baomidou.samples.seata.entity.Account;
|
||||||
import com.baomidou.samples.seata.service.AccountService;
|
import com.baomidou.samples.seata.service.AccountService;
|
||||||
import io.seata.core.context.RootContext;
|
import io.seata.core.context.RootContext;
|
||||||
import javax.annotation.Resource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class AccountServiceImpl implements AccountService {
|
public class AccountServiceImpl implements AccountService {
|
||||||
|
@ -10,12 +10,13 @@ import com.baomidou.samples.seata.service.OrderService;
|
|||||||
import com.baomidou.samples.seata.service.ProductService;
|
import com.baomidou.samples.seata.service.ProductService;
|
||||||
import io.seata.core.context.RootContext;
|
import io.seata.core.context.RootContext;
|
||||||
import io.seata.spring.annotation.GlobalTransactional;
|
import io.seata.spring.annotation.GlobalTransactional;
|
||||||
import javax.annotation.Resource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class OrderServiceImpl implements OrderService {
|
public class OrderServiceImpl implements OrderService {
|
||||||
|
@ -5,12 +5,13 @@ import com.baomidou.samples.seata.dao.ProductDao;
|
|||||||
import com.baomidou.samples.seata.entity.Product;
|
import com.baomidou.samples.seata.entity.Product;
|
||||||
import com.baomidou.samples.seata.service.ProductService;
|
import com.baomidou.samples.seata.service.ProductService;
|
||||||
import io.seata.core.context.RootContext;
|
import io.seata.core.context.RootContext;
|
||||||
import javax.annotation.Resource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class ProductServiceImpl implements ProductService {
|
public class ProductServiceImpl implements ProductService {
|
||||||
|
@ -2,12 +2,13 @@ package com.baomidou.samples.spel.controller;
|
|||||||
|
|
||||||
import com.baomidou.samples.spel.entity.User;
|
import com.baomidou.samples.spel.entity.User;
|
||||||
import com.baomidou.samples.spel.service.UserService;
|
import com.baomidou.samples.spel.service.UserService;
|
||||||
import java.util.List;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class UserController {
|
public class UserController {
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.baomidou.samples.spel.mapper;
|
package com.baomidou.samples.spel.mapper;
|
||||||
|
|
||||||
import com.baomidou.samples.spel.entity.User;
|
import com.baomidou.samples.spel.entity.User;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
//@DS("slave")这里可以使用但不建议,不要和service同时使用
|
//@DS("slave")这里可以使用但不建议,不要和service同时使用
|
||||||
public interface UserMapper {
|
public interface UserMapper {
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.baomidou.samples.spel.service;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.samples.spel.entity.User;
|
import com.baomidou.samples.spel.entity.User;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface UserService {
|
public interface UserService {
|
||||||
|
@ -5,10 +5,11 @@ import com.baomidou.dynamic.datasource.annotation.DS;
|
|||||||
import com.baomidou.samples.spel.entity.User;
|
import com.baomidou.samples.spel.entity.User;
|
||||||
import com.baomidou.samples.spel.mapper.UserMapper;
|
import com.baomidou.samples.spel.mapper.UserMapper;
|
||||||
import com.baomidou.samples.spel.service.UserService;
|
import com.baomidou.samples.spel.service.UserService;
|
||||||
import java.util.List;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@DS("slave")
|
@DS("slave")
|
||||||
public class UserServiceImpl implements UserService {
|
public class UserServiceImpl implements UserService {
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
package com.baomidou.samples.spel.test;
|
package com.baomidou.samples.spel.test;
|
||||||
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
|
||||||
|
|
||||||
import com.baomidou.samples.spel.Application;
|
import com.baomidou.samples.spel.Application;
|
||||||
import com.baomidou.samples.spel.entity.User;
|
import com.baomidou.samples.spel.entity.User;
|
||||||
import com.baomidou.samples.spel.service.UserService;
|
import com.baomidou.samples.spel.service.UserService;
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@ -19,6 +15,11 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
|||||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.context.WebApplicationContext;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||||
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest(classes = Application.class)
|
@SpringBootTest(classes = Application.class)
|
||||||
public class ApplicationTest {
|
public class ApplicationTest {
|
||||||
|
@ -3,14 +3,15 @@ package com.baomidou.samples.load;
|
|||||||
import com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider;
|
import com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider;
|
||||||
import com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider;
|
import com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.springframework.boot.SpringApplication;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class Application {
|
public class Application {
|
||||||
|
@ -16,10 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource;
|
package com.baomidou.dynamic.datasource;
|
||||||
|
|
||||||
|
import org.springframework.jdbc.datasource.AbstractDataSource;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import javax.sql.DataSource;
|
|
||||||
import org.springframework.jdbc.datasource.AbstractDataSource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 抽象动态获取数据源
|
* 抽象动态获取数据源
|
||||||
|
@ -19,9 +19,10 @@ package com.baomidou.dynamic.datasource;
|
|||||||
import com.baomidou.dynamic.datasource.matcher.ExpressionMatcher;
|
import com.baomidou.dynamic.datasource.matcher.ExpressionMatcher;
|
||||||
import com.baomidou.dynamic.datasource.matcher.Matcher;
|
import com.baomidou.dynamic.datasource.matcher.Matcher;
|
||||||
import com.baomidou.dynamic.datasource.matcher.RegexMatcher;
|
import com.baomidou.dynamic.datasource.matcher.RegexMatcher;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基于多种策略的自动切换数据源
|
* 基于多种策略的自动切换数据源
|
||||||
|
@ -17,10 +17,11 @@
|
|||||||
package com.baomidou.dynamic.datasource;
|
package com.baomidou.dynamic.datasource;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分组数据源
|
* 分组数据源
|
||||||
|
@ -21,18 +21,19 @@ import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
|||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||||
import com.p6spy.engine.spy.P6DataSource;
|
import com.p6spy.engine.spy.P6DataSource;
|
||||||
import io.seata.rm.datasource.DataSourceProxy;
|
import io.seata.rm.datasource.DataSourceProxy;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.DisposableBean;
|
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 核心动态数据源组件
|
* 核心动态数据源组件
|
||||||
|
@ -17,11 +17,7 @@
|
|||||||
package com.baomidou.dynamic.datasource.annotation;
|
package com.baomidou.dynamic.datasource.annotation;
|
||||||
|
|
||||||
|
|
||||||
import java.lang.annotation.Documented;
|
import java.lang.annotation.*;
|
||||||
import java.lang.annotation.ElementType;
|
|
||||||
import java.lang.annotation.Retention;
|
|
||||||
import java.lang.annotation.RetentionPolicy;
|
|
||||||
import java.lang.annotation.Target;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The core Annotation to switch datasource. It can be annotate at class or method.
|
* The core Annotation to switch datasource. It can be annotate at class or method.
|
||||||
|
@ -16,9 +16,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.aop;
|
package com.baomidou.dynamic.datasource.aop;
|
||||||
|
|
||||||
|
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
|
@ -21,10 +21,6 @@ import com.baomidou.dynamic.datasource.matcher.Matcher;
|
|||||||
import com.baomidou.dynamic.datasource.matcher.RegexMatcher;
|
import com.baomidou.dynamic.datasource.matcher.RegexMatcher;
|
||||||
import com.baomidou.dynamic.datasource.processor.DsProcessor;
|
import com.baomidou.dynamic.datasource.processor.DsProcessor;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.aopalliance.aop.Advice;
|
import org.aopalliance.aop.Advice;
|
||||||
import org.aopalliance.intercept.MethodInterceptor;
|
import org.aopalliance.intercept.MethodInterceptor;
|
||||||
@ -36,6 +32,11 @@ import org.springframework.beans.BeansException;
|
|||||||
import org.springframework.beans.factory.BeanFactory;
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
import org.springframework.beans.factory.BeanFactoryAware;
|
import org.springframework.beans.factory.BeanFactoryAware;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 1.2.0
|
* @since 1.2.0
|
||||||
|
@ -20,12 +20,13 @@ import com.baomidou.dynamic.datasource.annotation.DS;
|
|||||||
import com.baomidou.dynamic.datasource.processor.DsProcessor;
|
import com.baomidou.dynamic.datasource.processor.DsProcessor;
|
||||||
import com.baomidou.dynamic.datasource.support.DataSourceClassResolver;
|
import com.baomidou.dynamic.datasource.support.DataSourceClassResolver;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.aopalliance.intercept.MethodInterceptor;
|
import org.aopalliance.intercept.MethodInterceptor;
|
||||||
import org.aopalliance.intercept.MethodInvocation;
|
import org.aopalliance.intercept.MethodInvocation;
|
||||||
import org.springframework.core.annotation.AnnotationUtils;
|
import org.springframework.core.annotation.AnnotationUtils;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Core Interceptor of Dynamic Datasource
|
* Core Interceptor of Dynamic Datasource
|
||||||
*
|
*
|
||||||
|
@ -16,9 +16,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.aop;
|
package com.baomidou.dynamic.datasource.aop;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import org.springframework.aop.support.JdkRegexpMethodPointcut;
|
import org.springframework.aop.support.JdkRegexpMethodPointcut;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 2.5.0
|
* @since 2.5.0
|
||||||
|
@ -18,11 +18,12 @@ package com.baomidou.dynamic.datasource.creator;
|
|||||||
|
|
||||||
import com.baomidou.dynamic.datasource.exception.ErrorCreateDataSourceException;
|
import com.baomidou.dynamic.datasource.exception.ErrorCreateDataSourceException;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基础数据源创建器
|
* 基础数据源创建器
|
||||||
*
|
*
|
||||||
|
@ -16,16 +16,17 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.creator;
|
package com.baomidou.dynamic.datasource.creator;
|
||||||
|
|
||||||
import static com.baomidou.dynamic.datasource.support.DdConstants.DRUID_DATASOURCE;
|
|
||||||
import static com.baomidou.dynamic.datasource.support.DdConstants.HIKARI_DATASOURCE;
|
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
import com.baomidou.dynamic.datasource.support.ScriptRunner;
|
import com.baomidou.dynamic.datasource.support.ScriptRunner;
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
import static com.baomidou.dynamic.datasource.support.DdConstants.DRUID_DATASOURCE;
|
||||||
|
import static com.baomidou.dynamic.datasource.support.DdConstants.HIKARI_DATASOURCE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据源创建器
|
* 数据源创建器
|
||||||
*
|
*
|
||||||
|
@ -27,16 +27,17 @@ import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourcePrope
|
|||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidSlf4jConfig;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidSlf4jConfig;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidWallConfigUtil;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidWallConfigUtil;
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Properties;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Druid数据源创建器
|
* Druid数据源创建器
|
||||||
*
|
*
|
||||||
|
@ -20,10 +20,11 @@ import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourcePrope
|
|||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari.HikariCpConfig;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari.HikariCpConfig;
|
||||||
import com.zaxxer.hikari.HikariConfig;
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hikari数据源创建器
|
* Hikari数据源创建器
|
||||||
*
|
*
|
||||||
|
@ -16,9 +16,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.creator;
|
package com.baomidou.dynamic.datasource.creator;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
|
import org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JNDI数据源创建器
|
* JNDI数据源创建器
|
||||||
*
|
*
|
||||||
|
@ -20,21 +20,18 @@ import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSour
|
|||||||
import com.baomidou.dynamic.datasource.support.DbHealthIndicator;
|
import com.baomidou.dynamic.datasource.support.DbHealthIndicator;
|
||||||
import com.baomidou.dynamic.datasource.support.DdConstants;
|
import com.baomidou.dynamic.datasource.support.DdConstants;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||||
import java.util.Properties;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.ibatis.executor.Executor;
|
import org.apache.ibatis.executor.Executor;
|
||||||
import org.apache.ibatis.mapping.MappedStatement;
|
import org.apache.ibatis.mapping.MappedStatement;
|
||||||
import org.apache.ibatis.mapping.SqlCommandType;
|
import org.apache.ibatis.mapping.SqlCommandType;
|
||||||
import org.apache.ibatis.plugin.Interceptor;
|
import org.apache.ibatis.plugin.*;
|
||||||
import org.apache.ibatis.plugin.Intercepts;
|
|
||||||
import org.apache.ibatis.plugin.Invocation;
|
|
||||||
import org.apache.ibatis.plugin.Plugin;
|
|
||||||
import org.apache.ibatis.plugin.Signature;
|
|
||||||
import org.apache.ibatis.session.ResultHandler;
|
import org.apache.ibatis.session.ResultHandler;
|
||||||
import org.apache.ibatis.session.RowBounds;
|
import org.apache.ibatis.session.RowBounds;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Master-slave Separation Plugin with mybatis
|
* Master-slave Separation Plugin with mybatis
|
||||||
*
|
*
|
||||||
|
@ -16,11 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.processor;
|
package com.baomidou.dynamic.datasource.processor;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import org.aopalliance.intercept.MethodInvocation;
|
import org.aopalliance.intercept.MethodInvocation;
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 2.5.0
|
* @since 2.5.0
|
||||||
|
@ -16,11 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.processor;
|
package com.baomidou.dynamic.datasource.processor;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import org.aopalliance.intercept.MethodInvocation;
|
import org.aopalliance.intercept.MethodInvocation;
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 2.5.0
|
* @since 2.5.0
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.processor;
|
package com.baomidou.dynamic.datasource.processor;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import org.aopalliance.intercept.MethodInvocation;
|
import org.aopalliance.intercept.MethodInvocation;
|
||||||
import org.springframework.context.expression.MethodBasedEvaluationContext;
|
import org.springframework.context.expression.MethodBasedEvaluationContext;
|
||||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
import org.springframework.core.DefaultParameterNameDiscoverer;
|
||||||
@ -26,6 +25,8 @@ import org.springframework.expression.ExpressionParser;
|
|||||||
import org.springframework.expression.ParserContext;
|
import org.springframework.expression.ParserContext;
|
||||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 2.5.0
|
* @since 2.5.0
|
||||||
@ -40,12 +41,6 @@ public class DsSpelExpressionProcessor extends DsProcessor {
|
|||||||
* Express语法解析器
|
* Express语法解析器
|
||||||
*/
|
*/
|
||||||
private static final ExpressionParser PARSER = new SpelExpressionParser();
|
private static final ExpressionParser PARSER = new SpelExpressionParser();
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean matches(String key) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析上下文的模板
|
* 解析上下文的模板
|
||||||
* 对于默认不设置的情况下,从参数中取值的方式 #param1
|
* 对于默认不设置的情况下,从参数中取值的方式 #param1
|
||||||
@ -54,6 +49,11 @@ public class DsSpelExpressionProcessor extends DsProcessor {
|
|||||||
*/
|
*/
|
||||||
private ParserContext parserContext = null;
|
private ParserContext parserContext = null;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean matches(String key) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String doDetermineDatasource(MethodInvocation invocation, String key) {
|
public String doDetermineDatasource(MethodInvocation invocation, String key) {
|
||||||
Method method = invocation.getMethod();
|
Method method = invocation.getMethod();
|
||||||
|
@ -18,12 +18,13 @@ package com.baomidou.dynamic.datasource.provider;
|
|||||||
|
|
||||||
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
|
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public abstract class AbstractDataSourceProvider implements DynamicDataSourceProvider {
|
public abstract class AbstractDataSourceProvider implements DynamicDataSourceProvider {
|
||||||
|
@ -17,14 +17,15 @@
|
|||||||
package com.baomidou.dynamic.datasource.provider;
|
package com.baomidou.dynamic.datasource.provider;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.jdbc.support.JdbcUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.jdbc.support.JdbcUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JDBC数据源提供者(抽象)
|
* JDBC数据源提供者(抽象)
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.provider;
|
package com.baomidou.dynamic.datasource.provider;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多数据源加载接口,默认的实现为从yml信息中加载所有数据源 你可以自己实现从其他地方加载所有数据源
|
* 多数据源加载接口,默认的实现为从yml信息中加载所有数据源 你可以自己实现从其他地方加载所有数据源
|
||||||
|
@ -17,11 +17,12 @@
|
|||||||
package com.baomidou.dynamic.datasource.provider;
|
package com.baomidou.dynamic.datasource.provider;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
|
||||||
import java.util.Map;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* YML数据源提供者
|
* YML数据源提供者
|
||||||
*
|
*
|
||||||
|
@ -19,15 +19,16 @@ package com.baomidou.dynamic.datasource.spring.boot.autoconfigure;
|
|||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari.HikariCpConfig;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari.HikariCpConfig;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.CryptoUtils;
|
import com.baomidou.dynamic.datasource.toolkit.CryptoUtils;
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.boot.context.properties.NestedConfigurationProperty;
|
import org.springframework.boot.context.properties.NestedConfigurationProperty;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 1.2.0
|
* @since 1.2.0
|
||||||
|
@ -29,8 +29,6 @@ import com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider;
|
|||||||
import com.baomidou.dynamic.datasource.provider.YmlDynamicDataSourceProvider;
|
import com.baomidou.dynamic.datasource.provider.YmlDynamicDataSourceProvider;
|
||||||
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidDynamicDataSourceConfiguration;
|
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidDynamicDataSourceConfiguration;
|
||||||
import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
||||||
import java.util.Map;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||||
@ -43,7 +41,9 @@ import org.springframework.context.annotation.Bean;
|
|||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.core.Ordered;
|
import org.springframework.core.Ordered;
|
||||||
import org.springframework.expression.ParserContext;
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 动态数据源核心自动配置类
|
* 动态数据源核心自动配置类
|
||||||
|
@ -16,11 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.spring.boot.autoconfigure;
|
package com.baomidou.dynamic.datasource.spring.boot.autoconfigure;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.creator.BasicDataSourceCreator;
|
import com.baomidou.dynamic.datasource.creator.*;
|
||||||
import com.baomidou.dynamic.datasource.creator.DataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.creator.DruidDataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.creator.HikariDataSourceCreator;
|
|
||||||
import com.baomidou.dynamic.datasource.creator.JndiDataSourceCreator;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
@ -21,8 +21,6 @@ import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari.HikariCp
|
|||||||
import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
import com.baomidou.dynamic.datasource.strategy.DynamicDataSourceStrategy;
|
||||||
import com.baomidou.dynamic.datasource.strategy.LoadBalanceDynamicDataSourceStrategy;
|
import com.baomidou.dynamic.datasource.strategy.LoadBalanceDynamicDataSourceStrategy;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.CryptoUtils;
|
import com.baomidou.dynamic.datasource.toolkit.CryptoUtils;
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -31,6 +29,9 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
|
|||||||
import org.springframework.boot.context.properties.NestedConfigurationProperty;
|
import org.springframework.boot.context.properties.NestedConfigurationProperty;
|
||||||
import org.springframework.core.Ordered;
|
import org.springframework.core.Ordered;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DynamicDataSourceProperties
|
* DynamicDataSourceProperties
|
||||||
*
|
*
|
||||||
|
@ -16,15 +16,16 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari;
|
package com.baomidou.dynamic.datasource.spring.boot.autoconfigure.hikari;
|
||||||
|
|
||||||
import static java.util.concurrent.TimeUnit.MINUTES;
|
|
||||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
|
||||||
|
|
||||||
import com.zaxxer.hikari.HikariConfig;
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.Properties;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import static java.util.concurrent.TimeUnit.MINUTES;
|
||||||
|
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HikariCp参数配置
|
* HikariCp参数配置
|
||||||
*
|
*
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.strategy;
|
package com.baomidou.dynamic.datasource.strategy;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The interface of dynamic datasource switch strategy
|
* The interface of dynamic datasource switch strategy
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.strategy;
|
package com.baomidou.dynamic.datasource.strategy;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import javax.sql.DataSource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LoadBalance strategy to switch a database
|
* LoadBalance strategy to switch a database
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.strategy;
|
package com.baomidou.dynamic.datasource.strategy;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ThreadLocalRandom;
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
import javax.sql.DataSource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Random strategy to switch a database
|
* Random strategy to switch a database
|
||||||
|
@ -16,11 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.support;
|
package com.baomidou.dynamic.datasource.support;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.lang.reflect.Proxy;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aopalliance.intercept.MethodInvocation;
|
import org.aopalliance.intercept.MethodInvocation;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.Proxy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取对mybatis-plus的支持
|
* 获取对mybatis-plus的支持
|
||||||
*
|
*
|
||||||
|
@ -17,13 +17,6 @@
|
|||||||
package com.baomidou.dynamic.datasource.support;
|
package com.baomidou.dynamic.datasource.support;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
|
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.ResultSetMetaData;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
|
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
|
||||||
import org.springframework.boot.actuate.health.Health;
|
import org.springframework.boot.actuate.health.Health;
|
||||||
import org.springframework.dao.support.DataAccessUtils;
|
import org.springframework.dao.support.DataAccessUtils;
|
||||||
@ -32,6 +25,14 @@ import org.springframework.jdbc.core.JdbcTemplate;
|
|||||||
import org.springframework.jdbc.core.RowMapper;
|
import org.springframework.jdbc.core.RowMapper;
|
||||||
import org.springframework.jdbc.support.JdbcUtils;
|
import org.springframework.jdbc.support.JdbcUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.ResultSetMetaData;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据库健康状况指标
|
* 数据库健康状况指标
|
||||||
*
|
*
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.support;
|
package com.baomidou.dynamic.datasource.support;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.core.io.ClassPathResource;
|
||||||
@ -24,6 +23,8 @@ import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils;
|
|||||||
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
|
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TaoYu
|
* @author TaoYu
|
||||||
* @since 2020/1/21
|
* @since 2020/1/21
|
||||||
|
@ -16,19 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.toolkit;
|
package com.baomidou.dynamic.datasource.toolkit;
|
||||||
|
|
||||||
|
import javax.crypto.Cipher;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.security.InvalidKeyException;
|
import java.security.*;
|
||||||
import java.security.Key;
|
|
||||||
import java.security.KeyFactory;
|
|
||||||
import java.security.KeyPair;
|
|
||||||
import java.security.KeyPairGenerator;
|
|
||||||
import java.security.NoSuchAlgorithmException;
|
|
||||||
import java.security.NoSuchProviderException;
|
|
||||||
import java.security.PrivateKey;
|
|
||||||
import java.security.PublicKey;
|
|
||||||
import java.security.SecureRandom;
|
|
||||||
import java.security.cert.Certificate;
|
import java.security.cert.Certificate;
|
||||||
import java.security.cert.CertificateFactory;
|
import java.security.cert.CertificateFactory;
|
||||||
import java.security.interfaces.RSAPrivateKey;
|
import java.security.interfaces.RSAPrivateKey;
|
||||||
@ -37,7 +29,6 @@ import java.security.spec.PKCS8EncodedKeySpec;
|
|||||||
import java.security.spec.RSAPrivateKeySpec;
|
import java.security.spec.RSAPrivateKeySpec;
|
||||||
import java.security.spec.RSAPublicKeySpec;
|
import java.security.spec.RSAPublicKeySpec;
|
||||||
import java.security.spec.X509EncodedKeySpec;
|
import java.security.spec.X509EncodedKeySpec;
|
||||||
import javax.crypto.Cipher;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy from Druid
|
* Copy from Druid
|
||||||
|
@ -16,11 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.baomidou.dynamic.datasource.toolkit;
|
package com.baomidou.dynamic.datasource.toolkit;
|
||||||
|
|
||||||
import java.util.ArrayDeque;
|
|
||||||
import java.util.Deque;
|
|
||||||
import org.springframework.core.NamedThreadLocal;
|
import org.springframework.core.NamedThreadLocal;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayDeque;
|
||||||
|
import java.util.Deque;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 核心基于ThreadLocal的切换数据源工具类
|
* 核心基于ThreadLocal的切换数据源工具类
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user