31 changed files with 618 additions and 834 deletions
			
			
		@ -1,33 +1,27 @@ | 
				
			|||||
HELP.md | 
					# Created by .ignore support plugin (hsz.mobi) | 
				
			||||
target/ | 
					### Java template | 
				
			||||
!.mvn/wrapper/maven-wrapper.jar | 
					# Compiled class file | 
				
			||||
!**/src/main/**/target/ | 
					*.class | 
				
			||||
!**/src/test/**/target/ | 
					 | 
				
			||||
 | 
					
 | 
				
			||||
### STS ### | 
					# Log file | 
				
			||||
.apt_generated | 
					*.log | 
				
			||||
.classpath | 
					 | 
				
			||||
.factorypath | 
					 | 
				
			||||
.project | 
					 | 
				
			||||
.settings | 
					 | 
				
			||||
.springBeans | 
					 | 
				
			||||
.sts4-cache | 
					 | 
				
			||||
 | 
					
 | 
				
			||||
### IntelliJ IDEA ### | 
					# BlueJ files | 
				
			||||
.idea | 
					*.ctxt | 
				
			||||
*.iws | 
					 | 
				
			||||
*.iml | 
					 | 
				
			||||
*.ipr | 
					 | 
				
			||||
 | 
					
 | 
				
			||||
### NetBeans ### | 
					# Mobile Tools for Java (J2ME) | 
				
			||||
/nbproject/private/ | 
					.mtj.tmp/ | 
				
			||||
/nbbuild/ | 
					 | 
				
			||||
/dist/ | 
					 | 
				
			||||
/nbdist/ | 
					 | 
				
			||||
/.nb-gradle/ | 
					 | 
				
			||||
build/ | 
					 | 
				
			||||
!**/src/main/**/build/ | 
					 | 
				
			||||
!**/src/test/**/build/ | 
					 | 
				
			||||
 | 
					
 | 
				
			||||
### VS Code ### | 
					# Package Files # | 
				
			||||
.vscode/ | 
					*.jar | 
				
			||||
 | 
					*.war | 
				
			||||
 | 
					*.nar | 
				
			||||
 | 
					*.ear | 
				
			||||
 | 
					*.zip | 
				
			||||
 | 
					*.tar.gz | 
				
			||||
 | 
					*.rar | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | 
				
			||||
 | 
					hs_err_pid* | 
				
			||||
 | 
					/.idea/ | 
				
			||||
 | 
					/target/ | 
				
			||||
 | 
				
			|||||
@ -1,3 +0,0 @@ | 
				
			|||||
# java-demo-bilibili | 
					 | 
				
			||||
B站视频对应的代码 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@ -1 +0,0 @@ | 
				
			|||||
{"gender":0,"name":"李四","age":30} | 
					 | 
				
			||||
@ -1,5 +0,0 @@ | 
				
			|||||
{ | 
					 | 
				
			||||
  "name": "张三", | 
					 | 
				
			||||
  "age": 20, | 
					 | 
				
			||||
  "gender": 1 | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -1,5 +0,0 @@ | 
				
			|||||
## 后端自测三大要点 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
1. 可重复性 | 
					 | 
				
			||||
2. 用例覆盖完整,重点覆盖异常场景 | 
					 | 
				
			||||
3. 环境一致性 | 
					 | 
				
			||||
@ -1,316 +0,0 @@ | 
				
			|||||
#!/bin/sh | 
					 | 
				
			||||
# ---------------------------------------------------------------------------- | 
					 | 
				
			||||
# Licensed to the Apache Software Foundation (ASF) under one | 
					 | 
				
			||||
# or more contributor license agreements.  See the NOTICE file | 
					 | 
				
			||||
# distributed with this work for additional information | 
					 | 
				
			||||
# regarding copyright ownership.  The ASF licenses this file | 
					 | 
				
			||||
# to you 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. | 
					 | 
				
			||||
# ---------------------------------------------------------------------------- | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# ---------------------------------------------------------------------------- | 
					 | 
				
			||||
# Maven Start Up Batch script | 
					 | 
				
			||||
# | 
					 | 
				
			||||
# Required ENV vars: | 
					 | 
				
			||||
# ------------------ | 
					 | 
				
			||||
#   JAVA_HOME - location of a JDK home dir | 
					 | 
				
			||||
# | 
					 | 
				
			||||
# Optional ENV vars | 
					 | 
				
			||||
# ----------------- | 
					 | 
				
			||||
#   M2_HOME - location of maven2's installed home dir | 
					 | 
				
			||||
#   MAVEN_OPTS - parameters passed to the Java VM when running Maven | 
					 | 
				
			||||
#     e.g. to debug Maven itself, use | 
					 | 
				
			||||
#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | 
					 | 
				
			||||
#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files | 
					 | 
				
			||||
# ---------------------------------------------------------------------------- | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ -z "$MAVEN_SKIP_RC" ] ; then | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  if [ -f /usr/local/etc/mavenrc ] ; then | 
					 | 
				
			||||
    . /usr/local/etc/mavenrc | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  if [ -f /etc/mavenrc ] ; then | 
					 | 
				
			||||
    . /etc/mavenrc | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  if [ -f "$HOME/.mavenrc" ] ; then | 
					 | 
				
			||||
    . "$HOME/.mavenrc" | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# OS specific support.  $var _must_ be set to either true or false. | 
					 | 
				
			||||
cygwin=false; | 
					 | 
				
			||||
darwin=false; | 
					 | 
				
			||||
mingw=false | 
					 | 
				
			||||
case "`uname`" in | 
					 | 
				
			||||
  CYGWIN*) cygwin=true ;; | 
					 | 
				
			||||
  MINGW*) mingw=true;; | 
					 | 
				
			||||
  Darwin*) darwin=true | 
					 | 
				
			||||
    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home | 
					 | 
				
			||||
    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html | 
					 | 
				
			||||
    if [ -z "$JAVA_HOME" ]; then | 
					 | 
				
			||||
      if [ -x "/usr/libexec/java_home" ]; then | 
					 | 
				
			||||
        export JAVA_HOME="`/usr/libexec/java_home`" | 
					 | 
				
			||||
      else | 
					 | 
				
			||||
        export JAVA_HOME="/Library/Java/Home" | 
					 | 
				
			||||
      fi | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
    ;; | 
					 | 
				
			||||
esac | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ -z "$JAVA_HOME" ] ; then | 
					 | 
				
			||||
  if [ -r /etc/gentoo-release ] ; then | 
					 | 
				
			||||
    JAVA_HOME=`java-config --jre-home` | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ -z "$M2_HOME" ] ; then | 
					 | 
				
			||||
  ## resolve links - $0 may be a link to maven's home | 
					 | 
				
			||||
  PRG="$0" | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  # need this for relative symlinks | 
					 | 
				
			||||
  while [ -h "$PRG" ] ; do | 
					 | 
				
			||||
    ls=`ls -ld "$PRG"` | 
					 | 
				
			||||
    link=`expr "$ls" : '.*-> \(.*\)$'` | 
					 | 
				
			||||
    if expr "$link" : '/.*' > /dev/null; then | 
					 | 
				
			||||
      PRG="$link" | 
					 | 
				
			||||
    else | 
					 | 
				
			||||
      PRG="`dirname "$PRG"`/$link" | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
  done | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  saveddir=`pwd` | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  M2_HOME=`dirname "$PRG"`/.. | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  # make it fully qualified | 
					 | 
				
			||||
  M2_HOME=`cd "$M2_HOME" && pwd` | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  cd "$saveddir" | 
					 | 
				
			||||
  # echo Using m2 at $M2_HOME | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# For Cygwin, ensure paths are in UNIX format before anything is touched | 
					 | 
				
			||||
if $cygwin ; then | 
					 | 
				
			||||
  [ -n "$M2_HOME" ] && | 
					 | 
				
			||||
    M2_HOME=`cygpath --unix "$M2_HOME"` | 
					 | 
				
			||||
  [ -n "$JAVA_HOME" ] && | 
					 | 
				
			||||
    JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | 
					 | 
				
			||||
  [ -n "$CLASSPATH" ] && | 
					 | 
				
			||||
    CLASSPATH=`cygpath --path --unix "$CLASSPATH"` | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# For Mingw, ensure paths are in UNIX format before anything is touched | 
					 | 
				
			||||
if $mingw ; then | 
					 | 
				
			||||
  [ -n "$M2_HOME" ] && | 
					 | 
				
			||||
    M2_HOME="`(cd "$M2_HOME"; pwd)`" | 
					 | 
				
			||||
  [ -n "$JAVA_HOME" ] && | 
					 | 
				
			||||
    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ -z "$JAVA_HOME" ]; then | 
					 | 
				
			||||
  javaExecutable="`which javac`" | 
					 | 
				
			||||
  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then | 
					 | 
				
			||||
    # readlink(1) is not available as standard on Solaris 10. | 
					 | 
				
			||||
    readLink=`which readlink` | 
					 | 
				
			||||
    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then | 
					 | 
				
			||||
      if $darwin ; then | 
					 | 
				
			||||
        javaHome="`dirname \"$javaExecutable\"`" | 
					 | 
				
			||||
        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" | 
					 | 
				
			||||
      else | 
					 | 
				
			||||
        javaExecutable="`readlink -f \"$javaExecutable\"`" | 
					 | 
				
			||||
      fi | 
					 | 
				
			||||
      javaHome="`dirname \"$javaExecutable\"`" | 
					 | 
				
			||||
      javaHome=`expr "$javaHome" : '\(.*\)/bin'` | 
					 | 
				
			||||
      JAVA_HOME="$javaHome" | 
					 | 
				
			||||
      export JAVA_HOME | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ -z "$JAVACMD" ] ; then | 
					 | 
				
			||||
  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 | 
					 | 
				
			||||
  else | 
					 | 
				
			||||
    JAVACMD="`\\unset -f command; \\command -v java`" | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ ! -x "$JAVACMD" ] ; then | 
					 | 
				
			||||
  echo "Error: JAVA_HOME is not defined correctly." >&2 | 
					 | 
				
			||||
  echo "  We cannot execute $JAVACMD" >&2 | 
					 | 
				
			||||
  exit 1 | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if [ -z "$JAVA_HOME" ] ; then | 
					 | 
				
			||||
  echo "Warning: JAVA_HOME environment variable is not set." | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# traverses directory structure from process work directory to filesystem root | 
					 | 
				
			||||
# first directory with .mvn subdirectory is considered project base directory | 
					 | 
				
			||||
find_maven_basedir() { | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  if [ -z "$1" ] | 
					 | 
				
			||||
  then | 
					 | 
				
			||||
    echo "Path not specified to find_maven_basedir" | 
					 | 
				
			||||
    return 1 | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
  basedir="$1" | 
					 | 
				
			||||
  wdir="$1" | 
					 | 
				
			||||
  while [ "$wdir" != '/' ] ; do | 
					 | 
				
			||||
    if [ -d "$wdir"/.mvn ] ; then | 
					 | 
				
			||||
      basedir=$wdir | 
					 | 
				
			||||
      break | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
    # workaround for JBEAP-8937 (on Solaris 10/Sparc) | 
					 | 
				
			||||
    if [ -d "${wdir}" ]; then | 
					 | 
				
			||||
      wdir=`cd "$wdir/.."; pwd` | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
    # end of workaround | 
					 | 
				
			||||
  done | 
					 | 
				
			||||
  echo "${basedir}" | 
					 | 
				
			||||
} | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# concatenates all lines of a file | 
					 | 
				
			||||
concat_lines() { | 
					 | 
				
			||||
  if [ -f "$1" ]; then | 
					 | 
				
			||||
    echo "$(tr -s '\n' ' ' < "$1")" | 
					 | 
				
			||||
  fi | 
					 | 
				
			||||
} | 
					 | 
				
			||||
 | 
					 | 
				
			||||
BASE_DIR=`find_maven_basedir "$(pwd)"` | 
					 | 
				
			||||
if [ -z "$BASE_DIR" ]; then | 
					 | 
				
			||||
  exit 1; | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
########################################################################################## | 
					 | 
				
			||||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | 
					 | 
				
			||||
# This allows using the maven wrapper in projects that prohibit checking in binary data. | 
					 | 
				
			||||
########################################################################################## | 
					 | 
				
			||||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then | 
					 | 
				
			||||
    if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
      echo "Found .mvn/wrapper/maven-wrapper.jar" | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
else | 
					 | 
				
			||||
    if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
    if [ -n "$MVNW_REPOURL" ]; then | 
					 | 
				
			||||
      jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" | 
					 | 
				
			||||
    else | 
					 | 
				
			||||
      jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
    while IFS="=" read key value; do | 
					 | 
				
			||||
      case "$key" in (wrapperUrl) jarUrl="$value"; break ;; | 
					 | 
				
			||||
      esac | 
					 | 
				
			||||
    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" | 
					 | 
				
			||||
    if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
      echo "Downloading from: $jarUrl" | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" | 
					 | 
				
			||||
    if $cygwin; then | 
					 | 
				
			||||
      wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    if command -v wget > /dev/null; then | 
					 | 
				
			||||
        if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
          echo "Found wget ... using wget" | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then | 
					 | 
				
			||||
            wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" | 
					 | 
				
			||||
        else | 
					 | 
				
			||||
            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
    elif command -v curl > /dev/null; then | 
					 | 
				
			||||
        if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
          echo "Found curl ... using curl" | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then | 
					 | 
				
			||||
            curl -o "$wrapperJarPath" "$jarUrl" -f | 
					 | 
				
			||||
        else | 
					 | 
				
			||||
            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    else | 
					 | 
				
			||||
        if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
          echo "Falling back to using Java to download" | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" | 
					 | 
				
			||||
        # For Cygwin, switch paths to Windows format before running javac | 
					 | 
				
			||||
        if $cygwin; then | 
					 | 
				
			||||
          javaClass=`cygpath --path --windows "$javaClass"` | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
        if [ -e "$javaClass" ]; then | 
					 | 
				
			||||
            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | 
					 | 
				
			||||
                if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
                  echo " - Compiling MavenWrapperDownloader.java ..." | 
					 | 
				
			||||
                fi | 
					 | 
				
			||||
                # Compiling the Java class | 
					 | 
				
			||||
                ("$JAVA_HOME/bin/javac" "$javaClass") | 
					 | 
				
			||||
            fi | 
					 | 
				
			||||
            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then | 
					 | 
				
			||||
                # Running the downloader | 
					 | 
				
			||||
                if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
                  echo " - Running MavenWrapperDownloader.java ..." | 
					 | 
				
			||||
                fi | 
					 | 
				
			||||
                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") | 
					 | 
				
			||||
            fi | 
					 | 
				
			||||
        fi | 
					 | 
				
			||||
    fi | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
########################################################################################## | 
					 | 
				
			||||
# End of extension | 
					 | 
				
			||||
########################################################################################## | 
					 | 
				
			||||
 | 
					 | 
				
			||||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} | 
					 | 
				
			||||
if [ "$MVNW_VERBOSE" = true ]; then | 
					 | 
				
			||||
  echo $MAVEN_PROJECTBASEDIR | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# For Cygwin, switch paths to Windows format before running java | 
					 | 
				
			||||
if $cygwin; then | 
					 | 
				
			||||
  [ -n "$M2_HOME" ] && | 
					 | 
				
			||||
    M2_HOME=`cygpath --path --windows "$M2_HOME"` | 
					 | 
				
			||||
  [ -n "$JAVA_HOME" ] && | 
					 | 
				
			||||
    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` | 
					 | 
				
			||||
  [ -n "$CLASSPATH" ] && | 
					 | 
				
			||||
    CLASSPATH=`cygpath --path --windows "$CLASSPATH"` | 
					 | 
				
			||||
  [ -n "$MAVEN_PROJECTBASEDIR" ] && | 
					 | 
				
			||||
    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` | 
					 | 
				
			||||
fi | 
					 | 
				
			||||
 | 
					 | 
				
			||||
# Provide a "standardized" way to retrieve the CLI args that will | 
					 | 
				
			||||
# work with both Windows and non-Windows executions. | 
					 | 
				
			||||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" | 
					 | 
				
			||||
export MAVEN_CMD_LINE_ARGS | 
					 | 
				
			||||
 | 
					 | 
				
			||||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | 
					 | 
				
			||||
 | 
					 | 
				
			||||
exec "$JAVACMD" \ | 
					 | 
				
			||||
  $MAVEN_OPTS \ | 
					 | 
				
			||||
  $MAVEN_DEBUG_OPTS \ | 
					 | 
				
			||||
  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ | 
					 | 
				
			||||
  "-Dmaven.home=${M2_HOME}" \ | 
					 | 
				
			||||
  "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ | 
					 | 
				
			||||
  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" | 
					 | 
				
			||||
@ -1,188 +0,0 @@ | 
				
			|||||
@REM ---------------------------------------------------------------------------- | 
					 | 
				
			||||
@REM Licensed to the Apache Software Foundation (ASF) under one | 
					 | 
				
			||||
@REM or more contributor license agreements.  See the NOTICE file | 
					 | 
				
			||||
@REM distributed with this work for additional information | 
					 | 
				
			||||
@REM regarding copyright ownership.  The ASF licenses this file | 
					 | 
				
			||||
@REM to you under the Apache License, Version 2.0 (the | 
					 | 
				
			||||
@REM "License"); you may not use this file except in compliance | 
					 | 
				
			||||
@REM with the License.  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, | 
					 | 
				
			||||
@REM software distributed under the License is distributed on an | 
					 | 
				
			||||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
					 | 
				
			||||
@REM KIND, either express or implied.  See the License for the | 
					 | 
				
			||||
@REM specific language governing permissions and limitations | 
					 | 
				
			||||
@REM under the License. | 
					 | 
				
			||||
@REM ---------------------------------------------------------------------------- | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM ---------------------------------------------------------------------------- | 
					 | 
				
			||||
@REM Maven Start Up Batch script | 
					 | 
				
			||||
@REM | 
					 | 
				
			||||
@REM Required ENV vars: | 
					 | 
				
			||||
@REM JAVA_HOME - location of a JDK home dir | 
					 | 
				
			||||
@REM | 
					 | 
				
			||||
@REM Optional ENV vars | 
					 | 
				
			||||
@REM M2_HOME - location of maven2's installed home dir | 
					 | 
				
			||||
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands | 
					 | 
				
			||||
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending | 
					 | 
				
			||||
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven | 
					 | 
				
			||||
@REM     e.g. to debug Maven itself, use | 
					 | 
				
			||||
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 | 
					 | 
				
			||||
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files | 
					 | 
				
			||||
@REM ---------------------------------------------------------------------------- | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' | 
					 | 
				
			||||
@echo off | 
					 | 
				
			||||
@REM set title of command window | 
					 | 
				
			||||
title %0 | 
					 | 
				
			||||
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' | 
					 | 
				
			||||
@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO% | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM set %HOME% to equivalent of $HOME | 
					 | 
				
			||||
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM Execute a user defined script before this one | 
					 | 
				
			||||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre | 
					 | 
				
			||||
@REM check for pre script, once with legacy .bat ending and once with .cmd ending | 
					 | 
				
			||||
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* | 
					 | 
				
			||||
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* | 
					 | 
				
			||||
:skipRcPre | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@setlocal | 
					 | 
				
			||||
 | 
					 | 
				
			||||
set ERROR_CODE=0 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM To isolate internal variables from possible post scripts, we use another setlocal | 
					 | 
				
			||||
@setlocal | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM ==== START VALIDATION ==== | 
					 | 
				
			||||
if not "%JAVA_HOME%" == "" goto OkJHome | 
					 | 
				
			||||
 | 
					 | 
				
			||||
echo. | 
					 | 
				
			||||
echo Error: JAVA_HOME not found in your environment. >&2 | 
					 | 
				
			||||
echo Please set the JAVA_HOME variable in your environment to match the >&2 | 
					 | 
				
			||||
echo location of your Java installation. >&2 | 
					 | 
				
			||||
echo. | 
					 | 
				
			||||
goto error | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:OkJHome | 
					 | 
				
			||||
if exist "%JAVA_HOME%\bin\java.exe" goto init | 
					 | 
				
			||||
 | 
					 | 
				
			||||
echo. | 
					 | 
				
			||||
echo Error: JAVA_HOME is set to an invalid directory. >&2 | 
					 | 
				
			||||
echo JAVA_HOME = "%JAVA_HOME%" >&2 | 
					 | 
				
			||||
echo Please set the JAVA_HOME variable in your environment to match the >&2 | 
					 | 
				
			||||
echo location of your Java installation. >&2 | 
					 | 
				
			||||
echo. | 
					 | 
				
			||||
goto error | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM ==== END VALIDATION ==== | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:init | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". | 
					 | 
				
			||||
@REM Fallback to current working directory if not found. | 
					 | 
				
			||||
 | 
					 | 
				
			||||
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% | 
					 | 
				
			||||
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir | 
					 | 
				
			||||
 | 
					 | 
				
			||||
set EXEC_DIR=%CD% | 
					 | 
				
			||||
set WDIR=%EXEC_DIR% | 
					 | 
				
			||||
:findBaseDir | 
					 | 
				
			||||
IF EXIST "%WDIR%"\.mvn goto baseDirFound | 
					 | 
				
			||||
cd .. | 
					 | 
				
			||||
IF "%WDIR%"=="%CD%" goto baseDirNotFound | 
					 | 
				
			||||
set WDIR=%CD% | 
					 | 
				
			||||
goto findBaseDir | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:baseDirFound | 
					 | 
				
			||||
set MAVEN_PROJECTBASEDIR=%WDIR% | 
					 | 
				
			||||
cd "%EXEC_DIR%" | 
					 | 
				
			||||
goto endDetectBaseDir | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:baseDirNotFound | 
					 | 
				
			||||
set MAVEN_PROJECTBASEDIR=%EXEC_DIR% | 
					 | 
				
			||||
cd "%EXEC_DIR%" | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:endDetectBaseDir | 
					 | 
				
			||||
 | 
					 | 
				
			||||
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@setlocal EnableExtensions EnableDelayedExpansion | 
					 | 
				
			||||
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a | 
					 | 
				
			||||
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:endReadAdditionalConfig | 
					 | 
				
			||||
 | 
					 | 
				
			||||
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" | 
					 | 
				
			||||
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" | 
					 | 
				
			||||
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | 
					 | 
				
			||||
 | 
					 | 
				
			||||
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" | 
					 | 
				
			||||
 | 
					 | 
				
			||||
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( | 
					 | 
				
			||||
    IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B | 
					 | 
				
			||||
) | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central | 
					 | 
				
			||||
@REM This allows using the maven wrapper in projects that prohibit checking in binary data. | 
					 | 
				
			||||
if exist %WRAPPER_JAR% ( | 
					 | 
				
			||||
    if "%MVNW_VERBOSE%" == "true" ( | 
					 | 
				
			||||
        echo Found %WRAPPER_JAR% | 
					 | 
				
			||||
    ) | 
					 | 
				
			||||
) else ( | 
					 | 
				
			||||
    if not "%MVNW_REPOURL%" == "" ( | 
					 | 
				
			||||
        SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" | 
					 | 
				
			||||
    ) | 
					 | 
				
			||||
    if "%MVNW_VERBOSE%" == "true" ( | 
					 | 
				
			||||
        echo Couldn't find %WRAPPER_JAR%, downloading it ... | 
					 | 
				
			||||
        echo Downloading from: %DOWNLOAD_URL% | 
					 | 
				
			||||
    ) | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    powershell -Command "&{"^ | 
					 | 
				
			||||
		"$webclient = new-object System.Net.WebClient;"^ | 
					 | 
				
			||||
		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ | 
					 | 
				
			||||
		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ | 
					 | 
				
			||||
		"}"^ | 
					 | 
				
			||||
		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ | 
					 | 
				
			||||
		"}" | 
					 | 
				
			||||
    if "%MVNW_VERBOSE%" == "true" ( | 
					 | 
				
			||||
        echo Finished downloading %WRAPPER_JAR% | 
					 | 
				
			||||
    ) | 
					 | 
				
			||||
) | 
					 | 
				
			||||
@REM End of extension | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM Provide a "standardized" way to retrieve the CLI args that will | 
					 | 
				
			||||
@REM work with both Windows and non-Windows executions. | 
					 | 
				
			||||
set MAVEN_CMD_LINE_ARGS=%* | 
					 | 
				
			||||
 | 
					 | 
				
			||||
%MAVEN_JAVA_EXE% ^ | 
					 | 
				
			||||
  %JVM_CONFIG_MAVEN_PROPS% ^ | 
					 | 
				
			||||
  %MAVEN_OPTS% ^ | 
					 | 
				
			||||
  %MAVEN_DEBUG_OPTS% ^ | 
					 | 
				
			||||
  -classpath %WRAPPER_JAR% ^ | 
					 | 
				
			||||
  "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ | 
					 | 
				
			||||
  %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* | 
					 | 
				
			||||
if ERRORLEVEL 1 goto error | 
					 | 
				
			||||
goto end | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:error | 
					 | 
				
			||||
set ERROR_CODE=1 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
:end | 
					 | 
				
			||||
@endlocal & set ERROR_CODE=%ERROR_CODE% | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost | 
					 | 
				
			||||
@REM check for post script, once with legacy .bat ending and once with .cmd ending | 
					 | 
				
			||||
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" | 
					 | 
				
			||||
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" | 
					 | 
				
			||||
:skipRcPost | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' | 
					 | 
				
			||||
if "%MAVEN_BATCH_PAUSE%"=="on" pause | 
					 | 
				
			||||
 | 
					 | 
				
			||||
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% | 
					 | 
				
			||||
 | 
					 | 
				
			||||
cmd /C exit /B %ERROR_CODE% | 
					 | 
				
			||||
@ -0,0 +1,16 @@ | 
				
			|||||
 | 
					package com.woniu; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; | 
				
			||||
 | 
					import org.springframework.boot.SpringApplication; | 
				
			||||
 | 
					import org.springframework.boot.autoconfigure.SpringBootApplication; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					@SpringBootApplication(exclude = MybatisAutoConfiguration.class) | 
				
			||||
 | 
					public class WoNiuApplication { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    public static void main(String[] args) { | 
				
			||||
 | 
					        SpringApplication.run(WoNiuApplication.class, args); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,45 @@ | 
				
			|||||
 | 
					package com.woniu.config; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; | 
				
			||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||
 | 
					import org.apache.ibatis.session.SqlSessionFactory; | 
				
			||||
 | 
					import org.mybatis.spring.SqlSessionFactoryBean; | 
				
			||||
 | 
					import org.mybatis.spring.annotation.MapperScan; | 
				
			||||
 | 
					import org.springframework.beans.factory.annotation.Qualifier; | 
				
			||||
 | 
					import org.springframework.boot.context.properties.ConfigurationProperties; | 
				
			||||
 | 
					import org.springframework.context.annotation.Bean; | 
				
			||||
 | 
					import org.springframework.context.annotation.Configuration; | 
				
			||||
 | 
					import org.springframework.core.io.support.PathMatchingResourcePatternResolver; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import javax.sql.DataSource; | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * 优雅的实现 mybatis多数据源 | 
				
			||||
 | 
					 * 在新增数据时除了给自己的库保留一份,还需要同步到别人的库 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					@Slf4j | 
				
			||||
 | 
					@Configuration | 
				
			||||
 | 
					@MapperScan(basePackages = {"com.woniu.dao.master"}, | 
				
			||||
 | 
					        sqlSessionFactoryRef = "MasterSqlSessionFactory") | 
				
			||||
 | 
					public class MasterDataSourceConfig { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Bean(name = "MasterDataSource") | 
				
			||||
 | 
					    @Qualifier("MasterDataSource") | 
				
			||||
 | 
					    @ConfigurationProperties(prefix = "spring.datasource.master") | 
				
			||||
 | 
					    public DataSource clickHouseDataSource() { | 
				
			||||
 | 
					        return DruidDataSourceBuilder.create().build(); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Bean(name = "MasterSqlSessionFactory") | 
				
			||||
 | 
					    public SqlSessionFactory getSqlSessionFactory(@Qualifier("MasterDataSource") DataSource dataSource) throws Exception { | 
				
			||||
 | 
					        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); | 
				
			||||
 | 
					        sessionFactoryBean.setDataSource(dataSource); | 
				
			||||
 | 
					        sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver() | 
				
			||||
 | 
					                .getResources("classpath*:mapper/master/*.xml")); | 
				
			||||
 | 
					        log.info("------------------------------------------MasterDataSource 配置成功"); | 
				
			||||
 | 
					        return sessionFactoryBean.getObject(); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,48 @@ | 
				
			|||||
 | 
					package com.woniu.config; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; | 
				
			||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||
 | 
					import org.apache.ibatis.session.SqlSessionFactory; | 
				
			||||
 | 
					import org.mybatis.spring.SqlSessionFactoryBean; | 
				
			||||
 | 
					import org.mybatis.spring.annotation.MapperScan; | 
				
			||||
 | 
					import org.springframework.beans.factory.annotation.Qualifier; | 
				
			||||
 | 
					import org.springframework.boot.context.properties.ConfigurationProperties; | 
				
			||||
 | 
					import org.springframework.context.annotation.Bean; | 
				
			||||
 | 
					import org.springframework.context.annotation.Configuration; | 
				
			||||
 | 
					import org.springframework.core.io.support.PathMatchingResourcePatternResolver; | 
				
			||||
 | 
					import org.springframework.jdbc.datasource.DataSourceTransactionManager; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import javax.sql.DataSource; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					/** | 
				
			||||
 | 
					 * 优雅的实现 mybatis多数据源 | 
				
			||||
 | 
					 * 在实际开发中会遇到多数据源的场景,比如说,在新增数据时除了给自己的库保留一份,还需要同步到别人的库 | 
				
			||||
 | 
					 */ | 
				
			||||
 | 
					@Slf4j | 
				
			||||
 | 
					@Configuration | 
				
			||||
 | 
					@MapperScan(basePackages = {"com.woniu.dao.slave"}, | 
				
			||||
 | 
					        sqlSessionFactoryRef = "SlaveSqlSessionFactory") | 
				
			||||
 | 
					public class SlaveDataSourceConfig { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Bean(name = "SlaveDataSource") | 
				
			||||
 | 
					    @Qualifier("SlaveDataSource") | 
				
			||||
 | 
					    @ConfigurationProperties(prefix = "spring.datasource.slave") | 
				
			||||
 | 
					    public DataSource clickHouseDataSource() { | 
				
			||||
 | 
					        return DruidDataSourceBuilder.create().build(); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Bean(name = "SlaveSqlSessionFactory") | 
				
			||||
 | 
					    public SqlSessionFactory getSqlSessionFactory(@Qualifier("SlaveDataSource") DataSource dataSource) throws Exception { | 
				
			||||
 | 
					        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); | 
				
			||||
 | 
					        sessionFactoryBean.setDataSource(dataSource); | 
				
			||||
 | 
					        sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver() | 
				
			||||
 | 
					                .getResources("classpath*:mapper/slave/*.xml")); | 
				
			||||
 | 
					        log.info("------------------------------------------SlaveDataSource 配置成功"); | 
				
			||||
 | 
					        return sessionFactoryBean.getObject(); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
@ -0,0 +1,8 @@ | 
				
			|||||
 | 
					package com.woniu.constant; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					public class Constants { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					   public static String ADDRESS = ""; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,13 @@ | 
				
			|||||
 | 
					package com.woniu.dao.master; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.woniu.vo.User; | 
				
			||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					@Mapper | 
				
			||||
 | 
					public interface MasterUserDao { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    int insertUser(User user); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,12 @@ | 
				
			|||||
 | 
					package com.woniu.dao.slave; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.woniu.vo.User; | 
				
			||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					@Mapper | 
				
			||||
 | 
					public interface SlaveUserDao { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    int insertUser(User user); | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -1,17 +0,0 @@ | 
				
			|||||
package com.woniu.datasourcedemo; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import org.mybatis.spring.annotation.MapperScan; | 
					 | 
				
			||||
import org.springframework.boot.SpringApplication; | 
					 | 
				
			||||
import org.springframework.boot.autoconfigure.SpringBootApplication; | 
					 | 
				
			||||
import org.springframework.context.annotation.EnableAspectJAutoProxy; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@SpringBootApplication | 
					 | 
				
			||||
@MapperScan(basePackages = "com.woniu.datasourcedemo.dao") | 
					 | 
				
			||||
@EnableAspectJAutoProxy(exposeProxy = true) | 
					 | 
				
			||||
public class DemoApplication { | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public static void main(String[] args) { | 
					 | 
				
			||||
        SpringApplication.run(DemoApplication.class, args); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -1,38 +0,0 @@ | 
				
			|||||
package com.woniu.datasourcedemo.controller; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional; | 
					 | 
				
			||||
import com.woniu.datasourcedemo.model.User; | 
					 | 
				
			||||
import com.woniu.datasourcedemo.service.UserService; | 
					 | 
				
			||||
import org.springframework.stereotype.Controller; | 
					 | 
				
			||||
import org.springframework.web.bind.annotation.*; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import javax.annotation.Resource; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@RestController | 
					 | 
				
			||||
public class UserController { | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @Resource | 
					 | 
				
			||||
    private UserService userService; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    /** | 
					 | 
				
			||||
     * | 
					 | 
				
			||||
     * 如何连接多个数据库? 实现spring多数据源配置! | 
					 | 
				
			||||
     * @param id | 
					 | 
				
			||||
     * @return | 
					 | 
				
			||||
     */ | 
					 | 
				
			||||
    @GetMapping("/v1/user/{id}") | 
					 | 
				
			||||
    public User getById1(@PathVariable String id) { | 
					 | 
				
			||||
        return userService.getByUserId1(id); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @GetMapping(value = "/v2/user/{id}") | 
					 | 
				
			||||
    public User getById2(@PathVariable String id) { | 
					 | 
				
			||||
        return userService.getByUserId2(id); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @GetMapping("/insertUserAll") | 
					 | 
				
			||||
    public void insertUserAll(@RequestParam("name") String name, @RequestParam("age") String age) { | 
					 | 
				
			||||
        userService.insertUserAll(name,age); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -1,17 +0,0 @@ | 
				
			|||||
package com.woniu.datasourcedemo.dao; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import com.woniu.datasourcedemo.model.User; | 
					 | 
				
			||||
import org.apache.ibatis.annotations.Mapper; | 
					 | 
				
			||||
import org.apache.ibatis.annotations.Param; | 
					 | 
				
			||||
import org.springframework.stereotype.Repository; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@Mapper | 
					 | 
				
			||||
@Repository | 
					 | 
				
			||||
public interface UserDao { | 
					 | 
				
			||||
    User getById(Integer id); | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    void insertUserDs1(@Param("name") String name, @Param("age") String age); | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    void insertUserDs2(@Param("name") String name, @Param("age") String age); | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -1,48 +0,0 @@ | 
				
			|||||
package com.woniu.datasourcedemo.model; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import lombok.Data; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import java.io.Serializable; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
public class User implements Serializable { | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    private String id; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    private String name; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    private String age; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public String getId() { | 
					 | 
				
			||||
        return id; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public void setId(String id) { | 
					 | 
				
			||||
        this.id = id; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public String getName() { | 
					 | 
				
			||||
        return name; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public void setName(String name) { | 
					 | 
				
			||||
        this.name = name; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public String getAge() { | 
					 | 
				
			||||
        return age; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    public void setAge(String age) { | 
					 | 
				
			||||
        this.age = age; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @Override | 
					 | 
				
			||||
    public String toString() { | 
					 | 
				
			||||
        return "User{" + | 
					 | 
				
			||||
                "id='" + id + '\'' + | 
					 | 
				
			||||
                ", name='" + name + '\'' + | 
					 | 
				
			||||
                ", age='" + age + '\'' + | 
					 | 
				
			||||
                '}'; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -1,51 +0,0 @@ | 
				
			|||||
package com.woniu.datasourcedemo.service; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import com.baomidou.dynamic.datasource.annotation.DS; | 
					 | 
				
			||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional; | 
					 | 
				
			||||
import com.woniu.datasourcedemo.dao.UserDao; | 
					 | 
				
			||||
import com.woniu.datasourcedemo.model.User; | 
					 | 
				
			||||
import org.springframework.aop.framework.AopContext; | 
					 | 
				
			||||
import org.springframework.stereotype.Service; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
import javax.annotation.Resource; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@Service | 
					 | 
				
			||||
public class UserService { | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @Resource | 
					 | 
				
			||||
    UserDao userDao; | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @DS("ds1") | 
					 | 
				
			||||
    public User getByUserId1(String userId) { | 
					 | 
				
			||||
        return userDao.getById(Integer.parseInt(userId)); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @DS("ds2") | 
					 | 
				
			||||
    public User getByUserId2(String userId) { | 
					 | 
				
			||||
        return userDao.getById(Integer.parseInt(userId)); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @DS("ds1") | 
					 | 
				
			||||
    public void insertUserDs1(String name,String age) { | 
					 | 
				
			||||
         userDao.insertUserDs1(name,age); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @DS("ds2") | 
					 | 
				
			||||
    public void insertUserDs2(String name,String age) { | 
					 | 
				
			||||
         userDao.insertUserDs2(name,age); | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    @DSTransactional | 
					 | 
				
			||||
    public void insertUserAll(String name, String age){ | 
					 | 
				
			||||
        UserService userService = (UserService) AopContext.currentProxy(); | 
					 | 
				
			||||
        userService.insertUserDs1(name,age); | 
					 | 
				
			||||
        userService.insertUserDs2(name,age); | 
					 | 
				
			||||
        int i =1/0; | 
					 | 
				
			||||
    } | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -0,0 +1,34 @@ | 
				
			|||||
 | 
					package com.woniu.service; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.woniu.dao.master.MasterUserDao; | 
				
			||||
 | 
					import com.woniu.dao.slave.SlaveUserDao; | 
				
			||||
 | 
					import com.woniu.vo.User; | 
				
			||||
 | 
					import org.junit.Test; | 
				
			||||
 | 
					import org.junit.runner.RunWith; | 
				
			||||
 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			||||
 | 
					import org.springframework.boot.test.context.SpringBootTest; | 
				
			||||
 | 
					import org.springframework.test.context.junit4.SpringRunner; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					@SpringBootTest | 
				
			||||
 | 
					@RunWith(SpringRunner.class) | 
				
			||||
 | 
					public class UserService { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Autowired | 
				
			||||
 | 
					    private MasterUserDao masterUserDao; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Autowired | 
				
			||||
 | 
					    private SlaveUserDao slaveUserDao; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Test | 
				
			||||
 | 
					    public void testUser() { | 
				
			||||
 | 
					        User user = new User(); | 
				
			||||
 | 
					        user.setId(1l); | 
				
			||||
 | 
					        user.setSex(1); | 
				
			||||
 | 
					        user.setName("蜗牛"); | 
				
			||||
 | 
					        masterUserDao.insertUser(user); | 
				
			||||
 | 
					        slaveUserDao.insertUser(user); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,10 @@ | 
				
			|||||
 | 
					package com.woniu.vo; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import lombok.Data; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					@Data | 
				
			||||
 | 
					public class User { | 
				
			||||
 | 
					 private Long id; | 
				
			||||
 | 
					 private String name; | 
				
			||||
 | 
					 private Integer sex; | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,52 @@ | 
				
			|||||
 | 
					# | 
				
			||||
 | 
					spring.application.name=www | 
				
			||||
 | 
					server.port=8081 | 
				
			||||
 | 
					##1800s | 
				
			||||
 | 
					#server.servlet.session.timeout=1800 | 
				
			||||
 | 
					#spring.jackson.time-zone=GMT+8 | 
				
			||||
 | 
					#spring.jackson.date-format=yyyy-MM-dd HH:mm:ss | 
				
			||||
 | 
					# | 
				
			||||
 | 
					##定义数据源 | 
				
			||||
 | 
					#spring.shardingsphere.datasource.names=m1,m2 | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m1.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8 | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m1.username=root | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m1.password=123456 | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m1.driver‐class‐name=com.mysql.cj.jdbc.Driver | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m1.type=com.alibaba.druid.pool.DruidDataSource | 
				
			||||
 | 
					# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m2.url=jdbc:mysql://127.0.0.1:3306/test2?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8 | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m2.username=root | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m2.password=123456 | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m2.driver‐class‐name=com.mysql.cj.jdbc.Driver | 
				
			||||
 | 
					#spring.shardingsphere.datasource.m2.type=com.alibaba.druid.pool.DruidDataSource | 
				
			||||
 | 
					# | 
				
			||||
 | 
					## 指定t_user表的数据分布情况,配置数据节点 | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.actual‐data‐nodes=m$->{1..2}.t_user_$->{1..2} | 
				
			||||
 | 
					# | 
				
			||||
 | 
					## 指定t_user表的主键生成策略为SNOWFLAKE | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.key‐generator.column=id | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.key‐generator.type=SNOWFLAKE | 
				
			||||
 | 
					# | 
				
			||||
 | 
					## 指定t_user表的分库策略,分库策略包括分片键和分片算法 | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.database-strategy.inline.sharding‐column=sex | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.database-strategy.inline.algorithm‐expression=m$->{sex % 2 + 1} | 
				
			||||
 | 
					# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					## 指定t_user表的分表策略,分表策略包括分片键和分片算法 | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.table‐strategy.inline.sharding‐column=id | 
				
			||||
 | 
					#spring.shardingsphere.sharding.tables.t_user.table‐strategy.inline.algorithm‐expression=t_user_$->{id % 2 + 1} | 
				
			||||
 | 
					# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					## 控制台日志配置 | 
				
			||||
 | 
					#logging.level.root=info | 
				
			||||
 | 
					# | 
				
			||||
 | 
					## 打开sql输出日志 | 
				
			||||
 | 
					#spring.shardingsphere.props.sql.show=true | 
				
			||||
 | 
					# | 
				
			||||
 | 
					##mapper文件扫描路径 | 
				
			||||
 | 
					#mybatis.mapper-locations=classpath:/mapper/*.xml | 
				
			||||
 | 
					# | 
				
			||||
 | 
					# | 
				
			||||
 | 
					# | 
				
			||||
@ -1,22 +1,14 @@ | 
				
			|||||
spring: | 
					spring: | 
				
			||||
  datasource: | 
					  datasource: | 
				
			||||
    dynamic: | 
					    type: com.alibaba.druid.pool.DruidDataSource | 
				
			||||
      primary: ds1 #设置默认的数据源或者数据源组,默认值即为master | 
					    driverClassName: com.mysql.cj.jdbc.Driver | 
				
			||||
      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 | 
					    # 主库数据源 | 
				
			||||
      datasource: | 
					    master: | 
				
			||||
        ds1: | 
					      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
				
			||||
          url: jdbc:mysql://localhost:3306/ds1database | 
					 | 
				
			||||
      username: root | 
					      username: root | 
				
			||||
      password: 123456 | 
					      password: 123456 | 
				
			||||
          driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 | 
					    slave: | 
				
			||||
        ds2: | 
					      url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 | 
				
			||||
          url: jdbc:mysql://localhost:3306/ds2database | 
					 | 
				
			||||
      username: root | 
					      username: root | 
				
			||||
      password: 123456 | 
					      password: 123456 | 
				
			||||
          driver-class-name: com.mysql.cj.jdbc.Driver | 
					 | 
				
			||||
 | 
					 | 
				
			||||
mybatis: | 
					 | 
				
			||||
  mapper-locations: | 
					 | 
				
			||||
    classpath:mapper/*.xml | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
				
			|||||
								
									Binary file not shown.
								
							
						
					@ -0,0 +1,26 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<configuration> | 
				
			||||
 | 
					    <!-- 控制台日志格式 --> | 
				
			||||
 | 
					    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %X{requestId} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> | 
				
			||||
 | 
					    <!-- 控制台日志格式 依赖的渲染类 --> | 
				
			||||
 | 
					    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> | 
				
			||||
 | 
					    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> | 
				
			||||
 | 
					    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> | 
				
			||||
 | 
					    <!-- 输出到控制台 --> | 
				
			||||
 | 
					    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> | 
				
			||||
 | 
					        <encoder> | 
				
			||||
 | 
					            <!-- 配置日志输出格式 --> | 
				
			||||
 | 
					            <pattern>${CONSOLE_LOG_PATTERN}</pattern> | 
				
			||||
 | 
					            <!-- 使用的字符集 --> | 
				
			||||
 | 
					            <charset>UTF-8</charset> | 
				
			||||
 | 
					        </encoder> | 
				
			||||
 | 
					    </appender> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <!-- 开启上面的appender --> | 
				
			||||
 | 
					    <root level="info"> | 
				
			||||
 | 
					        <appender-ref ref="CONSOLE" /> | 
				
			||||
 | 
					    </root> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					</configuration> | 
				
			||||
@ -1,22 +0,0 @@ | 
				
			|||||
<?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.woniu.datasourcedemo.dao.UserDao"> | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    <select id="getById" resultType="com.woniu.datasourcedemo.model.User"> | 
					 | 
				
			||||
        select * from uc_user | 
					 | 
				
			||||
        where id = #{id} | 
					 | 
				
			||||
    </select> | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    <insert id="insertUserDs1"> | 
					 | 
				
			||||
       insert into uc_user(name,age)values(#{name},#{age}) | 
					 | 
				
			||||
    </insert> | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    <insert id="insertUserDs2"> | 
					 | 
				
			||||
      insert into uc_user(name,age)values(#{name},#{age}) | 
					 | 
				
			||||
    </insert> | 
					 | 
				
			||||
 | 
					 | 
				
			||||
 | 
					 | 
				
			||||
</mapper> | 
					 | 
				
			||||
@ -0,0 +1,12 @@ | 
				
			|||||
 | 
					<?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.woniu.dao.master.MasterUserDao"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <insert id="insertUser" > | 
				
			||||
 | 
					        insert into t_user_1(id,name, sex) values (#{id},#{name}, #{sex}) | 
				
			||||
 | 
					    </insert> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					</mapper> | 
				
			||||
@ -0,0 +1,9 @@ | 
				
			|||||
 | 
					<?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.woniu.dao.slave.SlaveUserDao"> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <insert id="insertUser"> | 
				
			||||
 | 
					             insert into t_user_1(id,name, sex) values (#{id},#{name}, #{sex}) | 
				
			||||
 | 
					    </insert> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					</mapper> | 
				
			||||
@ -0,0 +1,35 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<!DOCTYPE configuration | 
				
			||||
 | 
					        PUBLIC "-//mybatis.org//DTD Config 3.0//EN" | 
				
			||||
 | 
					        "http://mybatis.org/dtd/mybatis-3-config.dtd"> | 
				
			||||
 | 
					<configuration> | 
				
			||||
 | 
					    <settings> | 
				
			||||
 | 
					        <!-- 打印sql日志 --> | 
				
			||||
 | 
					        <setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/> | 
				
			||||
 | 
					    </settings> | 
				
			||||
 | 
					    <plugins> | 
				
			||||
 | 
					        <plugin interceptor="com.github.pagehelper.PageHelper"> | 
				
			||||
 | 
					            <property name="dialect" value="mysql"/> | 
				
			||||
 | 
					            <property name="offsetAsPageNum" value="false"/> | 
				
			||||
 | 
					            <property name="rowBoundsWithCount" value="false"/> | 
				
			||||
 | 
					            <property name="pageSizeZero" value="true"/> | 
				
			||||
 | 
					            <property name="reasonable" value="false"/> | 
				
			||||
 | 
					            <property name="supportMethodsArguments" value="false"/> | 
				
			||||
 | 
					            <property name="returnPageInfo" value="none"/> | 
				
			||||
 | 
					        </plugin> | 
				
			||||
 | 
					    </plugins> | 
				
			||||
 | 
					    <!--<environments default="development">--> | 
				
			||||
 | 
					        <!--<environment id="development">--> | 
				
			||||
 | 
					            <!--<transactionManager type="JDBC"/>--> | 
				
			||||
 | 
					            <!--<dataSource type="POOLED">--> | 
				
			||||
 | 
					                <!--<property name="driver" value="com.mysql.jdbc.Driver"/>--> | 
				
			||||
 | 
					                <!--<property name="url" value="jdbc:mysql://localhost:3307/happy_home?serverTimezone=UTC"/>--> | 
				
			||||
 | 
					                <!--<property name="username" value="root"/>--> | 
				
			||||
 | 
					                <!--<property name="password" value="root"/>--> | 
				
			||||
 | 
					            <!--</dataSource>--> | 
				
			||||
 | 
					        <!--</environment>--> | 
				
			||||
 | 
					    <!--</environments>--> | 
				
			||||
 | 
					    <!--<mappers>--> | 
				
			||||
 | 
					        <!--<mapper resource="mapper/EmployeeMapper.xml" />--> | 
				
			||||
 | 
					    <!--</mappers>--> | 
				
			||||
 | 
					</configuration> | 
				
			||||
@ -1,5 +0,0 @@ | 
				
			|||||
{ | 
					 | 
				
			||||
  "name": "张三", | 
					 | 
				
			||||
  "age": 20, | 
					 | 
				
			||||
  "gender": 1 | 
					 | 
				
			||||
} | 
					 | 
				
			||||
@ -0,0 +1,153 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||
 | 
					<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | 
				
			||||
 | 
					  <component name="FacetManager"> | 
				
			||||
 | 
					    <facet type="Spring" name="Spring"> | 
				
			||||
 | 
					      <configuration /> | 
				
			||||
 | 
					    </facet> | 
				
			||||
 | 
					    <facet type="web" name="Web"> | 
				
			||||
 | 
					      <configuration> | 
				
			||||
 | 
					        <webroots /> | 
				
			||||
 | 
					        <sourceRoots> | 
				
			||||
 | 
					          <root url="file://$MODULE_DIR$/src/main/java" /> | 
				
			||||
 | 
					          <root url="file://$MODULE_DIR$/src/main/resources" /> | 
				
			||||
 | 
					        </sourceRoots> | 
				
			||||
 | 
					      </configuration> | 
				
			||||
 | 
					    </facet> | 
				
			||||
 | 
					  </component> | 
				
			||||
 | 
					  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> | 
				
			||||
 | 
					    <output url="file://$MODULE_DIR$/target/classes" /> | 
				
			||||
 | 
					    <output-test url="file://$MODULE_DIR$/target/test-classes" /> | 
				
			||||
 | 
					    <content url="file://$MODULE_DIR$"> | 
				
			||||
 | 
					      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | 
				
			||||
 | 
					      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | 
				
			||||
 | 
					      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | 
				
			||||
 | 
					      <excludeFolder url="file://$MODULE_DIR$/target" /> | 
				
			||||
 | 
					    </content> | 
				
			||||
 | 
					    <orderEntry type="inheritedJdk" /> | 
				
			||||
 | 
					    <orderEntry type="sourceFolder" forTests="false" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.google.guava:guava:29.0-jre" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.11.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.lionsoul:ip2region:2.7.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.3.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.43" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.43" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.16.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.junit.vintage:junit-vintage-engine:5.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.junit.platform:junit-platform-engine:1.6.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: junit:junit:4.13.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.mockito:mockito-core:3.3.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.20" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.20" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.3.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-test:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.18" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.13.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.6" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.18" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alibaba:druid:1.2.18" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.11" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.29" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:runtime-sofa-boot-starter:3.18.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:runtime-sofa-boot:3.18.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:sofa-boot:3.18.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:log-sofa-boot-starter:3.18.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:log-sofa-boot:3.18.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa.common:sofa-common-tools:1.3.6" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:sofa-ark-spi:1.1.5" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:sofa-ark-exception:1.1.5" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alipay.sofa:sofa-boot-autoconfigure:3.18.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.3.9.RELEASE" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.1.7.Final" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.9.3" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.76" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.alibaba:easyexcel:3.0.5" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.poi:poi:4.1.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:4.1.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:4.1.2" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.apache.commons:commons-csv:1.8" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: cglib:cglib:3.3.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.ow2.asm:asm:7.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.8.1" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: org.testng:testng:7.8.0" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" name="Maven: com.beust:jcommander:1.82" level="project" /> | 
				
			||||
 | 
					    <orderEntry type="library" scope="RUNTIME" name="Maven: org.webjars:jquery:3.6.1" level="project" /> | 
				
			||||
 | 
					  </component> | 
				
			||||
 | 
					</module> | 
				
			||||
					Loading…
					
					
				
		Reference in new issue