使用SpringBoot+Mybatis—plus来开发后端登陆注册的功能(附有详细代码)
本项目主要使用SpringBoot整合MyBatis-Plus来进行开发,采用Restful开发风格,并整合swagger2,本项目比较简单,只是简单实现了登陆注册以及几个查询的接口,代码简洁精炼,对数据返回体也进行了封装,添加了基本是用到的拦截器,配置了常用的异常处理类。本项目主要使用SpringBoot整合MyBatis-Plus来进行开发-Java文档类资源-CSDN下载。
·
本项目主要实现登陆注册,以及查询的接口
前言
本项目主要使用SpringBoot整合MyBatis-Plus来进行开发,采用Restful开发风格,并整合swagger2,本项目比较简单,只是简单实现了登陆注册以及几个查询的接口,代码简洁精炼,对数据返回体也进行了封装,添加了基本是用到的拦截器,配置了常用的异常处理类。
一、postman测试
1.注册测试
当我们注册成功后,再次点击注册时,会提示用户名已存在
2.登录测试
3.查询测试
查询全部
按类别查询
二、主要代码详情
1.服务层代码
package com.example.demo.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.controller.Result;
import com.example.demo.dao.UserDao;
import com.example.demo.domin.User;
import com.example.demo.service.UserService;
import com.example.demo.utils.Createtoken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
@Override
public Result login(String username, String password) {
User user1 = userDao.selectOne(new QueryWrapper<User>().eq("username",username)
.eq("password",password));
if (user1 != null){
String token = Createtoken.getToken(user1);
user1.setToken(token);
userDao.updateById(user1);
return new Result(200,user1,"登陆成功!");
}else {
return new Result(200,null,"用户名或密码错误!");
}
}
@Override
public Result register(String username, String password) {
User user1 = userDao.selectOne(new QueryWrapper<User>().eq("username",username));
if (user1 == null){
User user = new User(username,password);
int i = userDao.insert(user);
if (i == 1){
return new Result(200,user,"注册成功!");
}else {
return new Result(400,user,"注册失败,请检查网络!");
}
}else {
return new Result(500,null,"用户名已经存在");
}
}
//测试
@Override
public Result test(String token) {
User user = userDao.selectOne(new QueryWrapper<User>().eq("token",token));
if (user != null){
return new Result(200,null,"访问成功!");
}else {
return new Result(500,null,"您没有权限");
}
}
}
package com.example.demo.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.controller.Result;
import com.example.demo.dao.ImageDao;
import com.example.demo.dao.UserDao;
import com.example.demo.domin.Image;
import com.example.demo.domin.User;
import com.example.demo.service.ImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ImageServiceImpl implements ImageService {
@Autowired
ImageDao imageDao;
@Autowired
UserDao userDao;
@Override
public Result getImage(String token) {
User user = userDao.selectOne(new QueryWrapper<User>().eq("token", token));
if (user != null){
List<Image> images = imageDao.selectList(null);
return new Result(200,images,"查询成功!");
}else {
return new Result(400,null,"您没有相关权限!");
}
}
@Override
public Result getImageByKind(String token,int kinds) {
User user = userDao.selectOne(new QueryWrapper<User>().eq("token", token));
if (user != null){
// List<Image> images = imageDao.selectList(new QueryWrapper<Image>().eq("kinds", kinds));
// return new Result(200,images,"查询成功!");
List<Image> kinds2 = imageDao.selectList(new QueryWrapper<Image>().eq("kinds", kinds));
if (!kinds2.isEmpty()){
return new Result(200,kinds2,"查询成功!");
}else {
return new Result(200,null,"暂无该种类数据!");
}
}else {
return new Result(400,null,"您没有相关权限!");
}
}
}
2.表现层代码
package com.example.demo.controller;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
UserService userService;
//登录接口
@PostMapping
public Result login(@RequestParam String username,@RequestParam String password){
return userService.login(username,password);
}
//注册接口
@PutMapping
public Result register(@RequestParam String username,@RequestParam String password){
return userService.register(username,password);
}
//测试token接口
@GetMapping
public Result test(@RequestParam String token){
return userService.test(token);
}
}
package com.example.demo.controller;
import com.example.demo.service.ImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/image")
public class ImageController {
@Autowired
ImageService imageService;
//查询全部图片列表接口
@GetMapping
public Result getImage(@RequestParam String token){
return imageService.getImage(token);
}
//按种类进行查询图片
@PostMapping
public Result getImageById(@RequestParam String token,@RequestParam int kinds){
return imageService.getImageByKind(token,kinds);
}
}
总结
后端代码比较简单,在这里就不详细介绍了,有需要源码的请自行下载,源码已上传,地址:本项目主要使用SpringBoot整合MyBatis-Plus来进行开发-Java文档类资源-CSDN下载
源码免费,免费的!!!可以直接下载,如果你觉得能够帮助你的话,点个赞!!!!
更多推荐
已为社区贡献1条内容
所有评论(0)