一、新建一个SpringBoot工程
二、导包
pom.xml可能需要添加的jar包
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
2.application.yml
server:
port: 8080(端口号自己设置,前后端分离后尽量不要与前端端口号冲突)
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_text?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=CONVERT_TO_NULL
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
pagehelper:
helper-dialect: mysql
reasonable: true
三、修改代码
1.实体类(以user为例)
加了个swagger文档编写,就方便了后端程序员的文档编写,减少与前端的争吵。
实体类要用@ApiModel(value = "用户",description = "用于描述用户对象")
每个属性上面@ApiModelProperty(value = "")
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.stereotype.Component;
import java.io.Serializable;
@Component
@ApiModel(value = "用户",description = "用于描述用户对象")
public class User {
@ApiModelProperty(value = "用户ID",example = "12")
private Integer id;
@ApiModelProperty(value = "用户姓名",example = "王五")
private String username;
@ApiModelProperty(value = "用户密码",example = "123456")
private String password;
@ApiModelProperty(value = "用户权现",example = "0")
private Integer roleId;
省略get/set等方法
}
2.控制层
要使用swagger的话需要在类上标注@Api(tags = "用户管理",value = "/admin/user")
import com.github.pagehelper.PageInfo;
import com.model.User;
import com.service.impl.UserServiceImpl;
import com.utils.Status;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("/admin/user")
@Api(tags = "用户管理",value = "/admin/user")
//@CrossOrigin
public class UserAdmin {
@Autowired
private UserServiceImpl userService;
@RequestMapping("/add")
public Status add(@RequestBody User entity) {
Integer integer = userService.addOne(entity);
return Status.success(integer, null, null);
}
}
3.mapper层
没有改变
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserDao {
User selectOne(User model);
List<User> selects(User model);
List<User> selectAll();
Integer addOne(User model);
Integer adds(List<User> models);
Integer updateOne(User model);
Integer updateAll(User model);
Integer deleteOne(User model);
Integer deleteAll();
Integer getCount();
Integer updatePolo(User entity);
}
4.service层
没什么太大改变
@Service
public class UserServiceImpl implements com.wx.demo10.service.Service<User> {
@Resource
private UserDao mapper;
@Override
public Integer addOne(User entity) {
Integer integer = mapper.addOne(entity);
return integer;
}
}
service接口
也没又什么太大改变
public interface Service<T> {
T selectOne(T entity);
PageInfo<T> selects(T entity, Integer page, Integer limit);
PageInfo<T> selectAll(Integer page,Integer limit);
Integer addOne(T entity);
Integer deleteOne(T entity) throws Exception;
Integer deletes(List<T> entitys);
Integer deleteAll();
Integer updateOne(T entity) throws Exception;
T login(T entity, HttpServletResponse response) throws Exception;
String fileUpload(MultipartFile multipartFile) throws Exception;
void fileDownload(MultipartFile multipartFile, HttpSession session);
}
在最后需要在*Application里面添加相关注解
import org.mapstruct.MapperConfig;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableSwagger2
//@MapperScan("com.demo10.mapper")
public class Demo10Application {
public static void main(String[] args) {
SpringApplication.run(Demo10Application.class, args);
}
}
最后的最后,如果要添加mabits的xml文件,一定要与mapper文件夹的路径保持一致!!!