diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 5fd4d50..0000000 Binary files a/.mvn/wrapper/maven-wrapper.jar and /dev/null differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index c954cec..0000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1 +0,0 @@ -distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip diff --git a/README.md b/README.md index 5ab02b1..65afbe8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # boot -Spring Boot 整合MyBatis; -数据源Druid 监控; -PageHelper分页; -swagger2 api管理 +>* Spring Boot 整合MyBatis +>* 数据源Druid 监控 +>* PageHelper分页 +>* Hibernate validate 集成 +>* jackson 日期时间格式化 +>* swagger2 api管理 diff --git a/boot.sql b/boot.sql new file mode 100644 index 0000000..db86f60 --- /dev/null +++ b/boot.sql @@ -0,0 +1,10 @@ + +/*用户表*/ +CREATE TABLE `user` ( + `uid` int(10) NOT NULL AUTO_INCREMENT, + `uname` varchar(255) DEFAULT NULL, + `birth` date DEFAULT NULL, + KEY `uid` (`uid`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 + + diff --git a/mvnw b/mvnw deleted file mode 100644 index a1ba1bf..0000000 --- a/mvnw +++ /dev/null @@ -1,233 +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 -# -# http://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. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven2 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 /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 - # - # Look for the Apple JDKs first to preserve the existing behaviour, and then look - # for the new JDKs provided by Oracle. - # - if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then - # - # Apple JDKs - # - export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home - fi - - if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then - # - # Apple JDKs - # - export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home - fi - - if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then - # - # Oracle JDKs - # - export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home - fi - - if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then - # - # Apple JDKs - # - export JAVA_HOME=`/usr/libexec/java_home` - 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 Migwn, 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)`" - # TODO classpath? -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="`which 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 - -# 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"` -fi - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - local basedir=$(pwd) - local wdir=$(pwd) - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - wdir=$(cd "$wdir/.."; pwd) - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# 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 \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} "$@" diff --git a/mvnw.cmd b/mvnw.cmd deleted file mode 100644 index 2b934e8..0000000 --- a/mvnw.cmd +++ /dev/null @@ -1,145 +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 http://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 Maven2 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 key stroke 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 enable echoing my 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 "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\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 - -set MAVEN_CMD_LINE_ARGS=%* - -@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="".\.mvn\wrapper\maven-wrapper.jar"" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS% -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 "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\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% - -exit /B %ERROR_CODE% \ No newline at end of file diff --git a/pom.xml b/pom.xml index ca22bf1..3018816 100644 --- a/pom.xml +++ b/pom.xml @@ -29,10 +29,6 @@ org.springframework.boot spring-boot-starter-aop - - org.springframework.boot - spring-boot-starter-data-redis - org.mybatis.spring.boot mybatis-spring-boot-starter diff --git a/src/main/java/com/xwolf/BootApplication.java b/src/main/java/com/xwolf/BootApplication.java index c7fa3a2..4e468bf 100644 --- a/src/main/java/com/xwolf/BootApplication.java +++ b/src/main/java/com/xwolf/BootApplication.java @@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.xwolf.boot.dao") public class BootApplication { + public static void main(String[] args) { SpringApplication.run(BootApplication.class, args); } diff --git a/src/main/java/com/xwolf/boot/config/Constants.java b/src/main/java/com/xwolf/boot/config/Constants.java new file mode 100644 index 0000000..60d0b85 --- /dev/null +++ b/src/main/java/com/xwolf/boot/config/Constants.java @@ -0,0 +1,25 @@ +package com.xwolf.boot.config; + +/** + * 常量 + * @author xwolf + * @since 1.8 + * @version 1.0.0 + **/ +public class Constants { + + /** + * 默认年月日格式化 + */ + public static final String DATE_DEFAULT_FORMAT = "YYYY-MM-DD"; + + /** + * 默认日期时间格式化 + */ + public static final String DATETIME_DEFAULT_FORMAT = "YYYY-MM-DD HH:mm:ss"; + + /** + * 默认时间格式化 + */ + public static final String TIME_DEFAULT_FORMAT = "HH:mm:ss"; +} diff --git a/src/main/java/com/xwolf/boot/config/DataSourceConfig.java b/src/main/java/com/xwolf/boot/config/DataSourceConfig.java index 32f2577..41890a1 100644 --- a/src/main/java/com/xwolf/boot/config/DataSourceConfig.java +++ b/src/main/java/com/xwolf/boot/config/DataSourceConfig.java @@ -17,12 +17,11 @@ import java.util.HashMap; import java.util.Map; /** - *

- *

- * + * 数据源 * @author xwolf * @date 2017-02-25 08:14 - * @since V1.0.0 + * @since 1.8 + * @version 1.0.0 */ @Configuration public class DataSourceConfig { diff --git a/src/main/java/com/xwolf/boot/config/SwiggerConfig.java b/src/main/java/com/xwolf/boot/config/SwaggerConfig.java similarity index 91% rename from src/main/java/com/xwolf/boot/config/SwiggerConfig.java rename to src/main/java/com/xwolf/boot/config/SwaggerConfig.java index 9b44810..c934060 100644 --- a/src/main/java/com/xwolf/boot/config/SwiggerConfig.java +++ b/src/main/java/com/xwolf/boot/config/SwaggerConfig.java @@ -12,17 +12,16 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; /** *

- * swigger 整合管理API接口 - * 参考http://www.jianshu.com/p/8033ef83a8ed + * swagger 整合管理API接口 + * 参考http://www.jianshu.com/p/8033ef83a8ed *

- * * @author xwolf * @date 2017-02-26 20:12 * @since V1.0.0 */ @Configuration @EnableSwagger2 -public class SwiggerConfig { +public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) diff --git a/src/main/java/com/xwolf/boot/controller/ApiController.java b/src/main/java/com/xwolf/boot/controller/ApiController.java index 3567e1a..530fa87 100644 --- a/src/main/java/com/xwolf/boot/controller/ApiController.java +++ b/src/main/java/com/xwolf/boot/controller/ApiController.java @@ -1,5 +1,6 @@ package com.xwolf.boot.controller; +import com.google.common.collect.Maps; import com.xwolf.boot.entity.User; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -9,20 +10,20 @@ import org.springframework.web.bind.annotation.*; import java.util.*; /** - *

- *

- * + * Swagger API测试Controller,无明确时限,以Map代替CRUD * @author xwolf * @date 2017-02-26 20:15 - * @since V1.0.0 + * @since 1.8 + * @version 1.0.0 */ @RestController @RequestMapping(value="/api") public class ApiController { - static Map users = Collections.synchronizedMap(new HashMap()); + + private static Map users = Maps.newConcurrentMap(); @ApiOperation(value="获取用户列表", notes="") - @RequestMapping(value={""}, method=RequestMethod.GET) + @GetMapping(value={"/list"}) public List getUserList() { List r = new ArrayList(users.values()); return r; @@ -30,7 +31,7 @@ public class ApiController { @ApiOperation(value="创建用户", notes="根据User对象创建用户") @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") - @RequestMapping(value="", method=RequestMethod.POST) + @PostMapping(value="/add") public String postUser(@RequestBody User user) { users.put(user.getUid(), user); return "success"; @@ -56,6 +57,11 @@ public class ApiController { return "success"; } + /** + * 删除用户 + * @param id 用户ID + * @return + */ @ApiOperation(value="删除用户", notes="根据url的id来指定删除对象") @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Integer") @RequestMapping(value="/{id}", method=RequestMethod.DELETE) diff --git a/src/main/java/com/xwolf/boot/controller/UserController.java b/src/main/java/com/xwolf/boot/controller/UserController.java index 3db1de0..23e46c7 100644 --- a/src/main/java/com/xwolf/boot/controller/UserController.java +++ b/src/main/java/com/xwolf/boot/controller/UserController.java @@ -1,26 +1,23 @@ package com.xwolf.boot.controller; import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; import com.xwolf.boot.entity.User; import com.xwolf.boot.service.IUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import java.util.Date; +import javax.validation.Valid; import java.util.List; /** - *

- *

* * @author xwolf * @date 2017-02-25 09:20 - * @since V1.0.0 + * @since 1.8 + * @version 1.0.0 */ -@Controller +@RestController @RequestMapping("user") @Slf4j public class UserController { @@ -28,20 +25,17 @@ public class UserController { @Autowired private IUserService userService; - @RequestMapping(value = "add",method = RequestMethod.POST) - @ResponseBody - public String insert(@RequestParam(value = "name",defaultValue = "")String name){ - User user = new User(); - user.setUname(name); - user.setBirth(new Date()); + @PostMapping(value = "add") + public String insert(@Valid User user){ + // user.setBirth(new Date()); log.info("请求参数:{}",user); - return userService.insert(user); + return userService.insert(user); } - @RequestMapping(value = "list/{start}/{size}",method = RequestMethod.POST) - public PageInfo getUserList(@PathVariable("start")int start,@PathVariable("size")int size){ - PageHelper.startPage(start,size); + @GetMapping(value = "list/{start}/{size}") + public List getUserList(@PathVariable("start")int start,@PathVariable("size")int size){ + PageHelper.startPage(start,size); List list= userService.getList(); - return new PageInfo<>(list); + return list; } } diff --git a/src/main/java/com/xwolf/boot/dao/IUserDao.java b/src/main/java/com/xwolf/boot/dao/IUserDao.java index 9300536..25e92a6 100644 --- a/src/main/java/com/xwolf/boot/dao/IUserDao.java +++ b/src/main/java/com/xwolf/boot/dao/IUserDao.java @@ -5,12 +5,10 @@ import com.xwolf.boot.entity.User; import java.util.List; /** - *

- *

- * * @author xwolf * @date 2017-02-25 09:07 - * @since V1.0.0 + * @since 1.8 + * @version 1.0.0 */ public interface IUserDao { diff --git a/src/main/java/com/xwolf/boot/entity/User.java b/src/main/java/com/xwolf/boot/entity/User.java index a6144c7..74599fb 100644 --- a/src/main/java/com/xwolf/boot/entity/User.java +++ b/src/main/java/com/xwolf/boot/entity/User.java @@ -1,23 +1,40 @@ package com.xwolf.boot.entity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xwolf.boot.config.Constants; import lombok.Data; -import lombok.extern.slf4j.Slf4j; +import lombok.ToString; +import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.NotBlank; import java.util.Date; /** - *

- *

- * + * 用户 * @author xwolf * @date 2017-02-25 09:00 - * @since V1.0.0 + * @since 1.8 + * @version 1.0.0 */ @Data -@Slf4j +@ToString public class User { + /** + * 用户ID + */ private int uid; + + /** + * 用户名 + */ + @NotBlank(message ="用户名不能为空") + @Length(min = 5,max =32,message = "用户名长度在5-32") private String uname; + + /** + * 生日 + */ + @JsonFormat(pattern = Constants.DATE_DEFAULT_FORMAT) private Date birth; } diff --git a/src/main/java/com/xwolf/boot/service/IUserService.java b/src/main/java/com/xwolf/boot/service/IUserService.java index 4e0950e..c1f7de4 100644 --- a/src/main/java/com/xwolf/boot/service/IUserService.java +++ b/src/main/java/com/xwolf/boot/service/IUserService.java @@ -5,12 +5,10 @@ import com.xwolf.boot.entity.User; import java.util.List; /** - *

- *

- * * @author xwolf * @date 2017-02-25 09:16 - * @since V1.0.0 + * @since 1.8 + * @version 1.0.0 */ public interface IUserService { diff --git a/src/main/java/com/xwolf/boot/service/impl/UserServiceImpl.java b/src/main/java/com/xwolf/boot/service/impl/UserServiceImpl.java index d5b9d38..be61759 100644 --- a/src/main/java/com/xwolf/boot/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xwolf/boot/service/impl/UserServiceImpl.java @@ -11,9 +11,7 @@ import org.springframework.stereotype.Service; import java.util.List; /** - *

- *

- * + * 用户Service * @author xwolf * @date 2017-02-25 09:17 * @since V1.0.0 @@ -21,9 +19,15 @@ import java.util.List; @Slf4j @Service public class UserServiceImpl implements IUserService { + @Autowired private IUserDao userDao; + /** + * 新增用户 + * @param user 用户信息 + * @return + */ @Override public String insert(User user) { int resultInt=userDao.insert(user); @@ -38,6 +42,10 @@ public class UserServiceImpl implements IUserService { return result.toJSONString(); } + /** + * 获取用户列表 + * @return + */ @Override public List getList() { return userDao.queryList(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7612aaa..e8456b8 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,16 +7,19 @@ spring: force: true charset: UTF-8 enabled: true - #指定项目的运行环境,可自动启用或停止某些功能 + profiles: active: dev + jackson: + date-format: YYYY-MM-DD + joda-date-time-format: YYYY-MM-DD HH:mm:ss datasource: druid: url: jdbc:mysql://127.0.0.1:3306/wifi2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&createDatabaseIfNotExist=true - username: eap - password: eap@eap + username: eop + password: eop@eop filters: stat,slf4j initialSize: 10 maxActive: 100 @@ -30,19 +33,19 @@ datasource: testOnReturn: false poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 -logging: - config: classpath:logback.xml - # file: d:/logs/boot.log server: - port: 8080 + port: 8082 session: timeout: 30 + + mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.xwolf.boot.entity check-config-location: true config-location: classpath:mybatis.xml - +logging: + config: classpath:logback.xml diff --git a/src/main/resources/mapper/userMapper.xml b/src/main/resources/mapper/UserMapper.xml similarity index 82% rename from src/main/resources/mapper/userMapper.xml rename to src/main/resources/mapper/UserMapper.xml index 6449228..54ca9f8 100644 --- a/src/main/resources/mapper/userMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -13,11 +13,11 @@ uid,uname,birth - insert into user (uid, uname,birth) - values (#{uid,jdbcType=INTEGER}, #{uname,jdbcType=VARCHAR},#{birth,jdbcType=TIMESTAMP}) + INSERT INTO user (uid, uname,birth) + VALUES (#{uid,jdbcType=INTEGER}, #{uname,jdbcType=VARCHAR},#{birth,jdbcType=TIMESTAMP}) \ No newline at end of file