From 1fce2ee8ec8b6e50e8f3e62ad5c7ef0468320124 Mon Sep 17 00:00:00 2001
From: bunny <1319900154@qq.com>
Date: Mon, 29 Jul 2024 10:39:40 +0800
Subject: [PATCH] =?UTF-8?q?:clown=5Fface:=20feat(=E9=9D=9E=E5=B8=B8?=
=?UTF-8?q?=E6=BF=80=E5=8A=A8):=20=E6=88=90=E5=8A=9F=E4=BA=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common/service-utils/pom.xml | 6 ---
.../service/config/MybatisPlusConfig.java | 21 --------
.../cn/bunny/entity/system/user/Userinfo.java | 36 --------------
.../bunny/entity/{system => }/user/User.java | 2 +-
pom.xml | 2 +-
service/pom.xml | 12 +++++
.../service/controller/UserController.java | 2 +-
.../controller/UserinfoController.java | 36 --------------
.../cn/bunny/service/mapper/UserMapper.java | 2 +-
.../bunny/service/mapper/UserinfoMapper.java | 18 -------
.../cn/bunny/service/service/UserService.java | 2 +-
.../service/service/UserinfoService.java | 16 ------
.../service/service/impl/UserServiceImpl.java | 2 +-
.../service/impl/UserinfoServiceImpl.java | 20 --------
.../src/main/resources/application-dev.yml | 6 +--
service/src/main/resources/application.yml | 49 ++-----------------
.../src/main/resources/mapper/UserMapper.xml | 2 +-
.../main/resources/mapper/UserinfoMapper.xml | 17 -------
.../shardingsphere.yaml => sharding.yaml} | 40 ++++++++++-----
.../service/impl/UserServiceImplTest.java | 2 +-
20 files changed, 55 insertions(+), 238 deletions(-)
delete mode 100644 dao/src/main/java/cn/bunny/entity/system/user/Userinfo.java
rename dao/src/main/java/cn/bunny/entity/{system => }/user/User.java (95%)
delete mode 100644 service/src/main/java/cn/bunny/service/controller/UserinfoController.java
delete mode 100644 service/src/main/java/cn/bunny/service/mapper/UserinfoMapper.java
delete mode 100644 service/src/main/java/cn/bunny/service/service/UserinfoService.java
delete mode 100644 service/src/main/java/cn/bunny/service/service/impl/UserinfoServiceImpl.java
delete mode 100644 service/src/main/resources/mapper/UserinfoMapper.xml
rename service/src/main/resources/{static/shardingsphere.yaml => sharding.yaml} (52%)
diff --git a/common/service-utils/pom.xml b/common/service-utils/pom.xml
index ddff80f..68b5418 100644
--- a/common/service-utils/pom.xml
+++ b/common/service-utils/pom.xml
@@ -35,11 +35,5 @@
ip2region
2.6.5
-
-
- org.apache.shardingsphere
- shardingsphere-jdbc-core-spring-boot-starter
- 5.2.0
-
diff --git a/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java b/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java
index 617a519..99b23b3 100644
--- a/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java
+++ b/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java
@@ -6,14 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerIntercep
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
@@ -23,8 +17,6 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@Slf4j
public class MybatisPlusConfig {
- @Autowired
- private ShardingSphereDataSource dataSource;
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
@@ -42,17 +34,4 @@ public class MybatisPlusConfig {
return interceptor;
}
-
- @Bean
- public SqlSessionFactory sqlSessionFactory() throws Exception {
- SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
- sqlSessionFactoryBean.setDataSource(dataSource);
- // 可以设置MyBatis-Plus的配置,比如mapper.xml的位置等
- return sqlSessionFactoryBean.getObject();
- }
-
- @Bean
- public PlatformTransactionManager transactionManager() {
- return new DataSourceTransactionManager(dataSource);
- }
}
diff --git a/dao/src/main/java/cn/bunny/entity/system/user/Userinfo.java b/dao/src/main/java/cn/bunny/entity/system/user/Userinfo.java
deleted file mode 100644
index 7a985e1..0000000
--- a/dao/src/main/java/cn/bunny/entity/system/user/Userinfo.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cn.bunny.entity.system.user;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-
-/**
- *
- *
- *
- *
- * @author Bunny
- * @since 2024-07-28
- */
-@Getter
-@Setter
-@Accessors(chain = true)
-@TableName("t_userinfo")
-@ApiModel(value = "Userinfo对象", description = "")
-public class Userinfo implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- private String username;
-
- private Integer age;
-}
diff --git a/dao/src/main/java/cn/bunny/entity/system/user/User.java b/dao/src/main/java/cn/bunny/entity/user/User.java
similarity index 95%
rename from dao/src/main/java/cn/bunny/entity/system/user/User.java
rename to dao/src/main/java/cn/bunny/entity/user/User.java
index 5cb453f..6667317 100644
--- a/dao/src/main/java/cn/bunny/entity/system/user/User.java
+++ b/dao/src/main/java/cn/bunny/entity/user/User.java
@@ -1,4 +1,4 @@
-package cn.bunny.entity.system.user;
+package cn.bunny.entity.user;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/pom.xml b/pom.xml
index 0457bcb..e29a465 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
21
3.8.1
3.5.6
- 8.0.30
+ 8.0.29
4.5.0
2.0.47
8.5.9
diff --git a/service/pom.xml b/service/pom.xml
index a5a14fb..3e98048 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -55,6 +55,18 @@
org.aspectj
aspectjweaver
+
+
+ org.apache.shardingsphere
+ shardingsphere-jdbc
+ 5.5.0
+
+
+ org.apache.shardingsphere
+ shardingsphere-test-util
+
+
+
diff --git a/service/src/main/java/cn/bunny/service/controller/UserController.java b/service/src/main/java/cn/bunny/service/controller/UserController.java
index cc926a9..b4e7a60 100644
--- a/service/src/main/java/cn/bunny/service/controller/UserController.java
+++ b/service/src/main/java/cn/bunny/service/controller/UserController.java
@@ -1,6 +1,6 @@
package cn.bunny.service.controller;
-import cn.bunny.entity.system.user.User;
+import cn.bunny.entity.user.User;
import cn.bunny.pojo.result.Result;
import cn.bunny.service.service.UserService;
import cn.bunny.vo.page.PageResult;
diff --git a/service/src/main/java/cn/bunny/service/controller/UserinfoController.java b/service/src/main/java/cn/bunny/service/controller/UserinfoController.java
deleted file mode 100644
index f7ad205..0000000
--- a/service/src/main/java/cn/bunny/service/controller/UserinfoController.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cn.bunny.service.controller;
-
-import cn.bunny.entity.system.user.Userinfo;
-import cn.bunny.pojo.result.Result;
-import cn.bunny.service.service.UserinfoService;
-import cn.hutool.system.UserInfo;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- *
- * 前端控制器
- *
- *
- * @author Bunny
- * @since 2024-07-28
- */
-@Tag(name = "用户信息")
-@RestController
-@RequestMapping("/api/userinfo")
-public class UserinfoController {
- @Autowired
- private UserinfoService userinfoService;
-
- @Operation(summary = "添加用户信息", description = "添加用户信息")
- @PostMapping("addUserinfo")
- public Result addUserinfo(@RequestBody Userinfo userInfo) {
- userinfoService.save(userInfo);
- return Result.success();
- }
-}
diff --git a/service/src/main/java/cn/bunny/service/mapper/UserMapper.java b/service/src/main/java/cn/bunny/service/mapper/UserMapper.java
index b46ded9..2cadc19 100644
--- a/service/src/main/java/cn/bunny/service/mapper/UserMapper.java
+++ b/service/src/main/java/cn/bunny/service/mapper/UserMapper.java
@@ -1,6 +1,6 @@
package cn.bunny.service.mapper;
-import cn.bunny.entity.system.user.User;
+import cn.bunny.entity.user.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
diff --git a/service/src/main/java/cn/bunny/service/mapper/UserinfoMapper.java b/service/src/main/java/cn/bunny/service/mapper/UserinfoMapper.java
deleted file mode 100644
index bf4ddbf..0000000
--- a/service/src/main/java/cn/bunny/service/mapper/UserinfoMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package cn.bunny.service.mapper;
-
-import cn.bunny.entity.system.user.Userinfo;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- *
- * Mapper 接口
- *
- *
- * @author Bunny
- * @since 2024-07-28
- */
-@Mapper
-public interface UserinfoMapper extends BaseMapper {
-
-}
diff --git a/service/src/main/java/cn/bunny/service/service/UserService.java b/service/src/main/java/cn/bunny/service/service/UserService.java
index a3ff044..0d361f6 100644
--- a/service/src/main/java/cn/bunny/service/service/UserService.java
+++ b/service/src/main/java/cn/bunny/service/service/UserService.java
@@ -1,6 +1,6 @@
package cn.bunny.service.service;
-import cn.bunny.entity.system.user.User;
+import cn.bunny.entity.user.User;
import cn.bunny.vo.page.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
diff --git a/service/src/main/java/cn/bunny/service/service/UserinfoService.java b/service/src/main/java/cn/bunny/service/service/UserinfoService.java
deleted file mode 100644
index 3127f9f..0000000
--- a/service/src/main/java/cn/bunny/service/service/UserinfoService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package cn.bunny.service.service;
-
-import cn.bunny.entity.system.user.Userinfo;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- *
- * 服务类
- *
- *
- * @author Bunny
- * @since 2024-07-28
- */
-public interface UserinfoService extends IService {
-
-}
diff --git a/service/src/main/java/cn/bunny/service/service/impl/UserServiceImpl.java b/service/src/main/java/cn/bunny/service/service/impl/UserServiceImpl.java
index 0c2b6ef..3e4fc70 100644
--- a/service/src/main/java/cn/bunny/service/service/impl/UserServiceImpl.java
+++ b/service/src/main/java/cn/bunny/service/service/impl/UserServiceImpl.java
@@ -1,6 +1,6 @@
package cn.bunny.service.service.impl;
-import cn.bunny.entity.system.user.User;
+import cn.bunny.entity.user.User;
import cn.bunny.service.mapper.UserMapper;
import cn.bunny.service.service.UserService;
import cn.bunny.vo.page.PageResult;
diff --git a/service/src/main/java/cn/bunny/service/service/impl/UserinfoServiceImpl.java b/service/src/main/java/cn/bunny/service/service/impl/UserinfoServiceImpl.java
deleted file mode 100644
index 523144b..0000000
--- a/service/src/main/java/cn/bunny/service/service/impl/UserinfoServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.bunny.service.service.impl;
-
-import cn.bunny.entity.system.user.Userinfo;
-import cn.bunny.service.mapper.UserinfoMapper;
-import cn.bunny.service.service.UserinfoService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- *
- * 服务实现类
- *
- *
- * @author Bunny
- * @since 2024-07-28
- */
-@Service
-public class UserinfoServiceImpl extends ServiceImpl implements UserinfoService {
-
-}
diff --git a/service/src/main/resources/application-dev.yml b/service/src/main/resources/application-dev.yml
index ae831dd..51ad18f 100644
--- a/service/src/main/resources/application-dev.yml
+++ b/service/src/main/resources/application-dev.yml
@@ -1,18 +1,18 @@
bunny:
master:
- host: 192.168.3.98
+ host: 192.168.3.21
port: 3306
sqlData: db_user
username: root
password: "02120212"
slave1:
- host: 192.168.3.98
+ host: 192.168.3.21
port: 3307
sqlData: db_user
username: root
password: "02120212"
slave2:
- host: 192.168.3.98
+ host: 192.168.3.21
port: 3308
sqlData: db_user
username: root
diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml
index 247fa9e..e78efd5 100644
--- a/service/src/main/resources/application.yml
+++ b/service/src/main/resources/application.yml
@@ -7,57 +7,14 @@ spring:
active: @profiles.active@
application:
name: bunny-service
- # datasource:
- # # driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
- # # url: jdbc:shardingsphere:classpath:static/shardingsphere.yaml
- # # type: com.zaxxer.hikari.HikariDataSource
- # driver-class-name: com.mysql.cj.jdbc.Driver
- # url: jdbc:mysql://${bunny.master.host}:${bunny.master.port}/${bunny.master.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
- # username: ${bunny.master.username}
- # password: ${bunny.master.password}
+ datasource:
+ driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
+ url: jdbc:shardingsphere:classpath:sharding.yaml
- shardingsphere:
- datasource:
- names: master, slave1, slave2
- master:
- type: com.zaxxer.hikari.HikariDataSource
- driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://${bunny.master.host}:${bunny.master.port}/${bunny.master.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
- username: ${bunny.master.username}
- password: ${bunny.master.password}
- slave1:
- type: com.zaxxer.hikari.HikariDataSource
- driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://${bunny.slave1.host}:${bunny.slave1.port}/${bunny.slave1.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
- username: ${bunny.slave1.username}
- password: ${bunny.slave1.password}
- slave2:
- type: com.zaxxer.hikari.HikariDataSource
- driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://${bunny.slave2.host}:${bunny.slave2.port}/${bunny.slave2.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
- username: ${bunny.slave2.username}
- password: ${bunny.slave2.password}
- rules:
- readwrite-splitting:
- data-sources:
- readwrite_ds:
- static-strategy:
- write-data-source-name: master
- read-data-source-names: slave1, slave2
- load-balancer-name: round_robin
- load-balancers:
- round_robin:
- type: ROUND_ROBIN
- sharding:
- default-database-strategy:
- hint:
- sharding-algorithm-name: master
-
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
-
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
configuration:
diff --git a/service/src/main/resources/mapper/UserMapper.xml b/service/src/main/resources/mapper/UserMapper.xml
index 26207a4..9424f5b 100644
--- a/service/src/main/resources/mapper/UserMapper.xml
+++ b/service/src/main/resources/mapper/UserMapper.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/service/src/main/resources/mapper/UserinfoMapper.xml b/service/src/main/resources/mapper/UserinfoMapper.xml
deleted file mode 100644
index 84f821b..0000000
--- a/service/src/main/resources/mapper/UserinfoMapper.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- id, username, age
-
-
-
diff --git a/service/src/main/resources/static/shardingsphere.yaml b/service/src/main/resources/sharding.yaml
similarity index 52%
rename from service/src/main/resources/static/shardingsphere.yaml
rename to service/src/main/resources/sharding.yaml
index 808d26e..7856e75 100644
--- a/service/src/main/resources/static/shardingsphere.yaml
+++ b/service/src/main/resources/sharding.yaml
@@ -3,27 +3,31 @@ mode:
repository:
type: JDBC
dataSources:
-
master:
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://192.168.3.98:3306/db_user?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
+ driverClassName: com.mysql.cj.jdbc.Driver
+ jdbcUrl: jdbc:mysql://192.168.3.21:3306/db_user?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
username: root
- password: 02120212
+ password: "02120212"
slave1:
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://192.168.3.98:3307/db_user?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
+ driverClassName: com.mysql.cj.jdbc.Driver
+ jdbcUrl: jdbc:mysql://192.168.3.21:3307/db_user?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
username: root
- password: 02120212
+ password: "02120212"
slave2:
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.jdbc.Driver
- jdbcUrl: jdbc:mysql://192.168.3.98:3308/db_user?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
+ driverClassName: com.mysql.cj.jdbc.Driver
+ jdbcUrl: jdbc:mysql://192.168.3.21:3308/db_user?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
username: root
- password: 02120212
+ password: "02120212"
rules:
- dataSourceGroups:
+- !SINGLE
+ tables:
+ - "*.*"
+ defaultDataSource: master
+- !READWRITE_SPLITTING
+ dataSources:
readwrite_ds:
writeDataSourceName: master
readDataSourceNames:
@@ -34,3 +38,17 @@ rules:
loadBalancers:
random:
type: RANDOM
+props:
+ sql-show: true
+
+sqlParser:
+ sqlStatementCache:
+ initialCapacity: 2000
+ maximumSize: 65535
+ parseTreeCache:
+ initialCapacity: 128
+ maximumSize: 1024
+
+sqlTranslator:
+ type: Native
+ useOriginalSQLWhenTranslatingFailed: true
diff --git a/service/src/test/java/cn/bunny/service/service/impl/UserServiceImplTest.java b/service/src/test/java/cn/bunny/service/service/impl/UserServiceImplTest.java
index 2e85aee..4826702 100644
--- a/service/src/test/java/cn/bunny/service/service/impl/UserServiceImplTest.java
+++ b/service/src/test/java/cn/bunny/service/service/impl/UserServiceImplTest.java
@@ -1,6 +1,6 @@
package cn.bunny.service.service.impl;
-import cn.bunny.entity.system.user.User;
+import cn.bunny.entity.user.User;
import cn.bunny.service.mapper.UserMapper;
import jakarta.transaction.Transactional;
import org.junit.jupiter.api.Test;