Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
氷泠
SpringBootDemoJava
提交
c311a29e
S
SpringBootDemoJava
项目概览
氷泠
/
SpringBootDemoJava
上一次同步 1 年多
通知
57
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SpringBootDemoJava
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c311a29e
编写于
6月 01, 2022
作者:
G
gkdgkdgkdgkd
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update Spring Boot 2.7.0 and Gradle 7.4.1
上级
ff2d6d88
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
651 addition
and
2 deletion
+651
-2
ShardingSphereJDBCSharding/README.md
ShardingSphereJDBCSharding/README.md
+16
-2
ShardingSphereJDBCSharding/demo/.gitignore
ShardingSphereJDBCSharding/demo/.gitignore
+37
-0
ShardingSphereJDBCSharding/demo/build.gradle
ShardingSphereJDBCSharding/demo/build.gradle
+40
-0
ShardingSphereJDBCSharding/demo/gradle/wrapper/gradle-wrapper.jar
...SphereJDBCSharding/demo/gradle/wrapper/gradle-wrapper.jar
+0
-0
ShardingSphereJDBCSharding/demo/gradle/wrapper/gradle-wrapper.properties
...DBCSharding/demo/gradle/wrapper/gradle-wrapper.properties
+5
-0
ShardingSphereJDBCSharding/demo/gradlew
ShardingSphereJDBCSharding/demo/gradlew
+234
-0
ShardingSphereJDBCSharding/demo/gradlew.bat
ShardingSphereJDBCSharding/demo/gradlew.bat
+89
-0
ShardingSphereJDBCSharding/demo/settings.gradle
ShardingSphereJDBCSharding/demo/settings.gradle
+1
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/DemoApplication.java
.../demo/src/main/java/com/example/demo/DemoApplication.java
+13
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/generator/CodeGenerator.java
...c/main/java/com/example/demo/generator/CodeGenerator.java
+23
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/generator/IdGenerator.java
...src/main/java/com/example/demo/generator/IdGenerator.java
+12
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/controller/UserController.java
...java/com/example/demo/user/controller/UserController.java
+38
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/entity/User.java
...demo/src/main/java/com/example/demo/user/entity/User.java
+25
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/mapper/UserMapper.java
...rc/main/java/com/example/demo/user/mapper/UserMapper.java
+18
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/mapper/xml/UserMapper.xml
...main/java/com/example/demo/user/mapper/xml/UserMapper.xml
+5
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/service/IUserService.java
...main/java/com/example/demo/user/service/IUserService.java
+16
-0
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/service/impl/UserService.java
.../java/com/example/demo/user/service/impl/UserService.java
+20
-0
ShardingSphereJDBCSharding/demo/src/main/resources/application.yml
...phereJDBCSharding/demo/src/main/resources/application.yml
+46
-0
ShardingSphereJDBCSharding/demo/src/test/java/com/example/demo/DemoApplicationTests.java
.../src/test/java/com/example/demo/DemoApplicationTests.java
+13
-0
未找到文件。
ShardingSphereJDBCSharding/README.md
浏览文件 @
c311a29e
#
ShardingSphere 分库分表
#
内容
详情可参考
[
博客
](
https://blog.csdn.net/qq_27525611/article/details/118521446
)
。
`ShardingSphereJDBC`
分库分表。
# 环境
-
`Druid 1.2.10`
-
`MyBatis Plus starter 3.5.1`
-
`MyBaits Plus Generator 3.5.2`
-
`Freemarker 2.3.31`
-
`ShardingSphere 5.1.1`
-
`Yitter 1.0.6`
-
`MySQL 8.0.29`
# 博客
[
地址
](
https://blog.csdn.net/qq_27525611/article/details/118521446
)
ShardingSphereJDBCSharding/demo/.gitignore
0 → 100644
浏览文件 @
c311a29e
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
ShardingSphereJDBCSharding/demo/build.gradle
0 → 100644
浏览文件 @
c311a29e
plugins
{
id
'org.springframework.boot'
version
'2.7.0'
id
'io.spring.dependency-management'
version
'1.0.11.RELEASE'
id
'java'
}
group
=
'com.example'
version
=
'0.0.1-SNAPSHOT'
sourceCompatibility
=
'17'
configurations
{
compileOnly
{
extendsFrom
annotationProcessor
}
}
repositories
{
mavenCentral
()
}
dependencies
{
implementation
'org.springframework.boot:spring-boot-starter-web'
compileOnly
'org.projectlombok:lombok'
developmentOnly
'org.springframework.boot:spring-boot-devtools'
runtimeOnly
'mysql:mysql-connector-java'
annotationProcessor
'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor
'org.projectlombok:lombok'
testImplementation
'org.springframework.boot:spring-boot-starter-test'
implementation
'com.alibaba:druid:1.2.10'
implementation
'com.baomidou:mybatis-plus-boot-starter:3.5.1'
implementation
'org.freemarker:freemarker:2.3.31'
implementation
'com.baomidou:mybatis-plus-generator:3.5.2'
implementation
'org.apache.shardingsphere:shardingsphere-jdbc-core-spring-boot-starter:5.1.1'
implementation
'com.github.yitter:yitter-idgenerator:1.0.6'
}
tasks
.
named
(
'test'
)
{
useJUnitPlatform
()
}
ShardingSphereJDBCSharding/demo/gradle/wrapper/gradle-wrapper.jar
0 → 100644
浏览文件 @
c311a29e
文件已添加
ShardingSphereJDBCSharding/demo/gradle/wrapper/gradle-wrapper.properties
0 → 100644
浏览文件 @
c311a29e
distributionBase
=
GRADLE_USER_HOME
distributionPath
=
wrapper/dists
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-7.4.1-bin.zip
zipStoreBase
=
GRADLE_USER_HOME
zipStorePath
=
wrapper/dists
ShardingSphereJDBCSharding/demo/gradlew
0 → 100755
浏览文件 @
c311a29e
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path
=
$0
# Need this for daisy-chained symlinks.
while
APP_HOME
=
${
app_path
%
"
${
app_path
##*/
}
"
}
# leaves a trailing /; empty if no leading path
[
-h
"
$app_path
"
]
do
ls
=
$(
ls
-ld
"
$app_path
"
)
link
=
${
ls
#*
' -> '
}
case
$link
in
#(
/
*
)
app_path
=
$link
;;
#(
*
)
app_path
=
$APP_HOME$link
;;
esac
done
APP_HOME
=
$(
cd
"
${
APP_HOME
:-
./
}
"
&&
pwd
-P
)
||
exit
APP_NAME
=
"Gradle"
APP_BASE_NAME
=
${
0
##*/
}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS
=
'"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD
=
maximum
warn
()
{
echo
"
$*
"
}
>
&2
die
()
{
echo
echo
"
$*
"
echo
exit
1
}
>
&2
# OS specific support (must be 'true' or 'false').
cygwin
=
false
msys
=
false
darwin
=
false
nonstop
=
false
case
"
$(
uname
)
"
in
#(
CYGWIN
*
)
cygwin
=
true
;;
#(
Darwin
*
)
darwin
=
true
;;
#(
MSYS
*
|
MINGW
*
)
msys
=
true
;;
#(
NONSTOP
*
)
nonstop
=
true
;;
esac
CLASSPATH
=
$APP_HOME
/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if
[
-n
"
$JAVA_HOME
"
]
;
then
if
[
-x
"
$JAVA_HOME
/jre/sh/java"
]
;
then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD
=
$JAVA_HOME
/jre/sh/java
else
JAVACMD
=
$JAVA_HOME
/bin/java
fi
if
[
!
-x
"
$JAVACMD
"
]
;
then
die
"ERROR: JAVA_HOME is set to an invalid directory:
$JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD
=
java
which java
>
/dev/null 2>&1
||
die
"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if
!
"
$cygwin
"
&&
!
"
$darwin
"
&&
!
"
$nonstop
"
;
then
case
$MAX_FD
in
#(
max
*
)
MAX_FD
=
$(
ulimit
-H
-n
)
||
warn
"Could not query maximum file descriptor limit"
esac
case
$MAX_FD
in
#(
''
|
soft
)
:
;;
#(
*
)
ulimit
-n
"
$MAX_FD
"
||
warn
"Could not set maximum file descriptor limit to
$MAX_FD
"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if
"
$cygwin
"
||
"
$msys
"
;
then
APP_HOME
=
$(
cygpath
--path
--mixed
"
$APP_HOME
"
)
CLASSPATH
=
$(
cygpath
--path
--mixed
"
$CLASSPATH
"
)
JAVACMD
=
$(
cygpath
--unix
"
$JAVACMD
"
)
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for
arg
do
if
case
$arg
in
#(
-
*
)
false
;;
# don't mess with options #(
/?
*
)
t
=
${
arg
#/
}
t
=
/
${
t
%%/*
}
# looks like a POSIX filepath
[
-e
"
$t
"
]
;;
#(
*
)
false
;;
esac
then
arg
=
$(
cygpath
--path
--ignore
--mixed
"
$arg
"
)
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift
# remove old arg
set
--
"
$@
"
"
$arg
"
# push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set
--
\
"-Dorg.gradle.appname=
$APP_BASE_NAME
"
\
-classpath
"
$CLASSPATH
"
\
org.gradle.wrapper.GradleWrapperMain
\
"
$@
"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval
"set --
$(
printf
'%s\n'
"
$DEFAULT_JVM_OPTS
$JAVA_OPTS
$GRADLE_OPTS
"
|
xargs
-n1
|
sed
' s~[^-[:alnum:]+,./:=@_]~\\&~g; '
|
tr
'\n'
' '
)
"
'"$@"'
exec
"
$JAVACMD
"
"
$@
"
ShardingSphereJDBCSharding/demo/gradlew.bat
0 → 100644
浏览文件 @
c311a29e
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if
"
%DEBUG%
"
==
""
@echo
off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if
"
%OS%
"
==
"Windows_NT"
setlocal
set
DIRNAME
=
%~dp0
if
"
%DIRNAME%
"
==
""
set
DIRNAME
=
.
set
APP_BASE_NAME
=
%~n0
set
APP_HOME
=
%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for
%%i
in
(
"
%APP_HOME%
"
)
do
set
APP_HOME
=
%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set
DEFAULT_JVM_OPTS
=
"-Xmx64m"
"-Xms64m"
@rem Find java.exe
if
defined
JAVA_HOME
goto
findJavaFromJavaHome
set
JAVA_EXE
=
java
.exe
%JAVA_EXE%
-version
>
NUL
2
>&
1
if
"
%ERRORLEVEL%
"
==
"0"
goto
execute
echo
.
echo
ERROR
:
JAVA_HOME
is
not
set
and
no
'java'
command
could
be
found
in
your
PATH
.
echo
.
echo
Please
set
the
JAVA_HOME
variable
in
your
environment
to
match
the
echo
location
of
your
Java
installation
.
goto
fail
:findJavaFromJavaHome
set
JAVA_HOME
=
%JAVA
_HOME:
"=
%
set JAVA_EXE=
%JAVA_HOME%
/bin/java.exe
if exist "
%JAVA_EXE%
" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory:
%JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=
%APP_HOME%
\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"
%JAVA_EXE%
"
%DEFAULT_JVM_OPTS%
%JAVA_OPTS%
%GRADLE_OPTS%
"
-Dorg
.gradle.appname
=
%APP_BASE_NAME%
" -classpath "
%CLASSPATH%
" org.gradle.wrapper.GradleWrapperMain
%
*
:end
@rem End local scope for the variables with windows NT shell
if "
%ERRORLEVEL%
"=="
0
" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code
!
if not "" == "
%GRADLE_EXIT_CONSOLE%
" exit 1
exit /b 1
:mainEnd
if "
%OS%
"=="
Windows_NT
" endlocal
:omega
ShardingSphereJDBCSharding/demo/settings.gradle
0 → 100644
浏览文件 @
c311a29e
rootProject
.
name
=
'demo'
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/DemoApplication.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
DemoApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
DemoApplication
.
class
,
args
);
}
}
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/generator/CodeGenerator.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.generator
;
import
com.baomidou.mybatisplus.generator.FastAutoGenerator
;
import
com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine
;
public
class
CodeGenerator
{
public
static
void
main
(
String
[]
args
)
{
final
String
USER_TABLE_NAME
=
"User"
;
FastAutoGenerator
.
create
(
"jdbc:mysql://localhost:3306/test0"
,
"root"
,
"123456"
)
.
globalConfig
(
builder
->
builder
.
author
(
"author"
).
outputDir
(
System
.
getProperty
(
"user.dir"
)
+
"/src/main/java"
).
build
())
.
packageConfig
(
builder
->
builder
.
parent
(
"com.example.demo"
).
moduleName
(
"user"
).
build
())
.
strategyConfig
(
builder
->
builder
.
addInclude
(
"user0"
)
.
entityBuilder
().
enableLombok
().
disableSerialVersionUID
().
convertFileName
((
entityName
->
USER_TABLE_NAME
))
.
mapperBuilder
().
convertMapperFileName
((
entityName
->
USER_TABLE_NAME
+
"Mapper"
)).
convertXmlFileName
((
entityName
->
USER_TABLE_NAME
+
"Mapper"
))
.
serviceBuilder
().
convertServiceFileName
((
entityName
->
"I"
+
USER_TABLE_NAME
+
"Service"
)).
convertServiceImplFileName
((
entityName
->
USER_TABLE_NAME
+
"Service"
))
.
controllerBuilder
().
enableRestStyle
().
convertFileName
(
entityName
->
USER_TABLE_NAME
+
"Controller"
))
.
templateEngine
(
new
FreemarkerTemplateEngine
())
.
execute
();
}
}
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/generator/IdGenerator.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.generator
;
import
com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator
;
import
com.github.yitter.idgen.YitIdHelper
;
import
org.springframework.context.annotation.Bean
;
public
class
IdGenerator
{
@Bean
public
IdentifierGenerator
identifierGenerator
()
{
return
entity
->
YitIdHelper
.
nextId
();
}
}
\ No newline at end of file
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/controller/UserController.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.user.controller
;
import
com.example.demo.user.entity.User
;
import
com.example.demo.user.service.IUserService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Random
;
/**
* <p>
* 前端控制器
* </p>
*
* @author author
* @since 2022-05-28
*/
@RestController
@RequestMapping
(
"/user"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
UserController
{
private
final
IUserService
userService
;
@GetMapping
(
"/insert"
)
public
boolean
insert
()
{
return
userService
.
save
(
User
.
builder
().
name
(
"name"
).
age
(
new
Random
().
nextInt
(
100
)
+
1
).
build
());
}
@GetMapping
(
"/select"
)
public
List
<
User
>
select
()
{
return
userService
.
list
();
}
}
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/entity/User.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.user.entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Builder
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
*
* </p>
*
* @author author
* @since 2022-05-28
*/
@Getter
@Setter
@Builder
public
class
User
{
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
private
Long
id
;
private
String
name
;
private
Integer
age
;
}
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/mapper/UserMapper.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.user.mapper
;
import
com.example.demo.user.entity.User
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author author
* @since 2022-05-28
*/
@Mapper
public
interface
UserMapper
extends
BaseMapper
<
User
>
{
}
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/mapper/xml/UserMapper.xml
0 → 100644
浏览文件 @
c311a29e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.example.demo.user.mapper.UserMapper"
>
</mapper>
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/service/IUserService.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.user.service
;
import
com.example.demo.user.entity.User
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author author
* @since 2022-05-28
*/
public
interface
IUserService
extends
IService
<
User
>
{
}
ShardingSphereJDBCSharding/demo/src/main/java/com/example/demo/user/service/impl/UserService.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo.user.service.impl
;
import
com.example.demo.user.entity.User
;
import
com.example.demo.user.mapper.UserMapper
;
import
com.example.demo.user.service.IUserService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author author
* @since 2022-05-28
*/
@Service
public
class
UserService
extends
ServiceImpl
<
UserMapper
,
User
>
implements
IUserService
{
}
ShardingSphereJDBCSharding/demo/src/main/resources/application.yml
0 → 100644
浏览文件 @
c311a29e
spring
:
shardingsphere
:
mode
:
type
:
Memory
# 内存模式,元数据保存在当前进程中
datasource
:
names
:
test0,test1
# 数据源名称,这里有两个
test0
:
# 跟上面的数据源对应
type
:
com.alibaba.druid.pool.DruidDataSource
# 连接池
url
:
jdbc:mysql://127.0.0.1:3306/test0
# 连接url
username
:
root
password
:
123456
test1
:
# 跟上面的数据源对应
type
:
com.alibaba.druid.pool.DruidDataSource
url
:
jdbc:mysql://127.0.0.1:3306/test1
username
:
root
password
:
123456
rules
:
sharding
:
tables
:
user
:
actual-data-nodes
:
test$->{0..1}.user$->{0..2}
# 实际节点名称,格式为 库名$->{0..n1}.表名$->{0..n2}
# 其中n1、n2分别为库数量-1和表数量-1
# 也可以使用${0..n1}的形式,但是会与Spring属性文件占位符冲突
# 所以使用$->{0..n1}的形式
database-strategy
:
# 分库策略
standard
:
# 标准分库策略
sharding-column
:
age
# 分库列名
sharding-algorithm-name
:
age-mod
# 分库算法名字
table-strategy
:
# 分表策略
standard
:
# 标准分表策略
sharding-column
:
id
# 分表列名
sharding-algorithm-name
:
id-mod
# 分表算法名字
sharding-algorithms
:
# 配置分库和分表的算法
age-mod
:
# 分库算法名字
type
:
MOD
# 算法类型为取模
props
:
# 算法配置的键名,所有算法配置都需要在props下
sharding-count
:
2
# 分片数量
id-mod
:
# 分表算法名字
type
:
MOD
# 算法类型为取模
props
:
# 算法配置的键名,所有算法配置都需要在props下
sharding-count
:
3
# 分片数量
props
:
sql-show
:
true
# 打印SQL
\ No newline at end of file
ShardingSphereJDBCSharding/demo/src/test/java/com/example/demo/DemoApplicationTests.java
0 → 100644
浏览文件 @
c311a29e
package
com.example.demo
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
@SpringBootTest
class
DemoApplicationTests
{
@Test
void
contextLoads
()
{
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录