pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lanou</groupId>
<artifactId>springbootswagger</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springbootswagger</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="default" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.lanou.util.MyMapper"/>
</plugin>
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/MVCDB?characterEncoding=utf-8"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.lanou.model" targetProject="./src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="constructorBased" value="true"/>
<property name="trimStrings" value="true"/>
<property name="immutable" value="false"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.lanou.dao" targetProject="./src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="User" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
application.yml
server:
port: 8098
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost:3306/MVCDB?characterEncoding=utf-8
mybatis:
type-aliases-package: com.lanou.model
mapper-locations: classpath:mappers/*.xml
mapper:
mappers: com.lanou.util.MyMapper
not-empty: false
identity: MYSQL
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
page: 5
SpringbootswaggerApplication
package com.lanou;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan(basePackages = "com.lanou.dao")
public class SpringbootswaggerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootswaggerApplication.class, args);
}
}
Swagger2
package com.lanou.util
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import springfox.documentation.builders.PathSelectors
import springfox.documentation.builders.RequestHandlerSelectors
import springfox.documentation.service.ApiInfo
import springfox.documentation.service.Contact
import springfox.documentation.spi.DocumentationType
import springfox.documentation.spring.web.plugins.Docket
import springfox.documentation.swagger2.annotations.EnableSwagger2
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.lanou.controller"))
.paths(PathSelectors.any())
.build()
}
private ApiInfo apiInfo(){
Contact contact = new Contact("lck","api","554009736@qq.com")
return new ApiInfo("lckApi","lckdec","1.0.0","sha?",contact,"license","licenseUrl")
}
}
ServerResp
package com.lanou.util;
import javax.xml.crypto.Data;
import java.io.Serializable;
public class ServerResp<T> implements Serializable {
private int status;
private String msg;
private T data;
private ServerResp(int status,T data,String msg){
this.status = status;
this.data = data;
}
private ServerResp(int status,String msg){
this.status = status;
this.msg = msg;
}
public static <T> ServerResp<T> createError(int status){
return new ServerResp<T>(status,"失败");
}
public static <T> ServerResp<T> createError(int status,String msg){
return new ServerResp<T>(status,msg);
}
public static <T> ServerResp<T> createError(int status,String msg,T data){
return new ServerResp<T>(status,data,msg);
}
public static <T> ServerResp<T> createSuccess(String msg,T data){
return new ServerResp<T>(0,data,msg);
}
public static <T> ServerResp<T> createSuccess(T data){
return new ServerResp<T>(0,data,"成功");
}
public ServerResp() {
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
@Override
public String toString() {
return "ServerResp{" +
"status=" + status +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
}
MyMapper
package com.lanou.util;
import com.lanou.model.User;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface MyMapper<User> extends Mapper<User>,MySqlMapper<User> {
}
UserService
package com.lanou.service;
import com.lanou.model.User;
public interface UserService {
public User login(User user);
}
User
package com.lanou.model;
import javax.persistence.*;
public class User {
@Id
@Column(name = "u_id")
private Integer uId;
@Column(name = "u_name")
private String uName;
@Column(name = "u_password")
private String uPassword;
@Column(name = "u_gender")
private String uGender;
public User(Integer uId, String uName, String uPassword, String uGender) {
this.uId = uId;
this.uName = uName;
this.uPassword = uPassword;
this.uGender = uGender;
}
public User() {
super();
}
/**
* @return u_id
*/
public Integer getuId() {
return uId;
}
/**
* @param uId
*/
public void setuId(Integer uId) {
this.uId = uId;
}
/**
* @return u_name
*/
public String getuName() {
return uName;
}
/**
* @param uName
*/
public void setuName(String uName) {
this.uName = uName == null ? null : uName.trim();
}
/**
* @return u_password
*/
public String getuPassword() {
return uPassword;
}
/**
* @param uPassword
*/
public void setuPassword(String uPassword) {
this.uPassword = uPassword == null ? null : uPassword.trim();
}
/**
* @return u_gender
*/
public String getuGender() {
return uGender;
}
/**
* @param uGender
*/
public void setuGender(String uGender) {
this.uGender = uGender == null ? null : uGender.trim();
}
}
UserServiceimpl
package com.lanou.impl
import com.lanou.dao.UserMapper
import com.lanou.model.User
import com.lanou.service.UserService
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service
import org.springframework.util.DigestUtils
@Service("userService")
public class UserServiceimpl implements UserService {
@Autowired
private UserMapper userMapper
@Override
public User login(User user) {
User user1 = userMapper.selectByUserName(user)
System.out.println("before" + user.getuPassword())
if(user1 != null){
String inputpass = DigestUtils.md5DigestAsHex(user.getuPassword().getBytes())
System.out.println("after" + inputpass)
if(user1.getuPassword().equals(inputpass)){
user1.setuPassword("")
return user1
}
}
return null
}
}
UserMapper
package com.lanou.dao;
import com.lanou.model.User;
import com.lanou.util.MyMapper;
public interface UserMapper extends MyMapper<User> {
public User selectByUserName(User user);
}
UserController
package com.lanou.controller
import com.lanou.dao.UserMapper
import com.lanou.model.User
import com.lanou.service.UserService
import com.lanou.util.ServerResp
import io.swagger.annotations.ApiImplicitParam
import io.swagger.annotations.ApiImplicitParams
import io.swagger.annotations.ApiOperation
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestMethod
import org.springframework.web.bind.annotation.RestController
import springfox.documentation.annotations.ApiIgnore
import springfox.documentation.swagger2.annotations.EnableSwagger2
import javax.xml.soap.Name
import java.util.List
@RestController
@EnableSwagger2
public class UserController {
@Autowired
private UserMapper userMapper
@Autowired
private UserService userService
@ApiIgnore
@RequestMapping(value = "/user/{id}",method = RequestMethod.DELETE)
public ServerResp update(@PathVariable Integer id){
System.out.println("id:" + id)
return ServerResp.createSuccess("ok")
}
// 先使用接收到的用户名 查询对应的记录 再进行密码的匹配
@ApiOperation(value = "登录",notes = "用户登录")
@RequestMapping("/login")
public ServerResp login(User user){
User user1 = userService.login(user)
if(user1 == null){
return ServerResp.createError(12,"用户名或者密码错误")
}
return ServerResp.createSuccess("登录成功",user1)
}
@RequestMapping("/addUser")
public ServerResp addUser(User user){
int count = userMapper.insert(user)
if(count == 1){
return ServerResp.createSuccess("数据插入成功")
}
return ServerResp.createError(10,"输入插入失败")
}
@RequestMapping("/findUsers")
public ServerResp findUsers(){
List<User> users = userMapper.selectAll()
return ServerResp.createSuccess(users)
}
}