一般来说可以先创建一个Maven工程再导入相关SpringBoot的包,但IDEA给出了较为方便的SpringBoot工程的创建方式
创建一个Spring Initializr工程并导入SpringWeb架构
然后再导入Spring工程和SpringBoot工程所需的依赖
(图中只截取部分,其余部分过长就不截图)
application.yml文件配置(连接数据库,加载mapper映射文件等)
server:
port: 9393
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/wanxi?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=CONVERT_TO_NULL
username: root
password: 5208282
mybatis:
mapper-locations: classpath:mapper/*.xml
pagehelper:
helper-dialect: mysql
reasonable: true
综上工作,SpringBoot项目的基础创建工作就大致完成了。
1、实体类(User实体类为例)
加了个Swagger文档编写,就方便了后端的文档编写
package com.wx.professionallawyer.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.stereotype.Component;
@Component
@ApiModel(value = "用户", description = "用于描述用户对象")
public class User
{
@ApiModelProperty(value = "用户Id", example = "2")
private Integer uId;
@ApiModelProperty(value = "用户姓名", example = "王仁杰")
private String uName;
@ApiModelProperty(value = "用户性别", example = "男")
private String uSex;
@ApiModelProperty(value = "用户年龄", example = "22")
private Integer uAge;
@ApiModelProperty(value = "用户登录名", example = "wangrenjie")
private String uRoot;
@ApiModelProperty(value = "用户密码", example = "用户密码")
private String uPassword;
@ApiModelProperty(value = "用户状态", example = "0")
private Integer state;
省略get和set方法
}
2、mapper层
mapper层与Spring项目的mapper层没多大变化
public interface UserMapper
{
/*根据用户名和密码查询用户数据*/
User selectUserByNameAndPwd(User user);
/*展示所有用户数据*/
List selectAllUser(User user);
//修改用户数据
int updateUser(User user);
//添加用户数据
int insertUser(User user);
//删除用户数据
int deleteUser(User user);
}
3、service层
service层与Spring项目的service层没多大变化
@Service
public class UserServiceImpl implements IUserService
{
@Autowired
private UserMapper userMapper;
@Autowired
private RedisTemplate redisTemplate;
/* 只写了删除用户数据的方法,其他的较长不好展示故省略 */
@Override
public ResultModel deleteUser(User user) {
int result = userMapper.deleteUser(user);
ResultModel resultModel = ResultModel.getSingleResultModel(result);
return resultModel;
}
}
4、控制层
要使用swagger的话需要在类上标注@Api(tags = "用户管理", value = "/lawyer"),其余和Spring项目的控制层变化不大
@RestController
@RequestMapping(value = "/lawyer")
@Api(tags = "用户管理", value = "/lawyer")
//@CrossOrigin
public class UserController {
@Autowired
private IUserService iUserService;
/* 还是删除用户数据功能,其余较长不方便展示故省略 */
@RequestMapping(value = "/back/editUser")
public ResultModel deleteUser(User user)
{
ResultModel resultModel = iUserService.deleteUser(user);
return resultModel;
}
}