第一步 创建springboot的项目 用idea前端已经说过
项目整体目录结构
第一步 编写pojo实体类 只看user
package com.example.geyaoeventmanage.pojo;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class User {
private Integer id;//主键ID
private String username;//用户名
private String password;//密码
private String nickname;//昵称
private String email;//邮箱
private String userPic;//用户头像地址
private LocalDateTime createTime;//创建时间
private LocalDateTime updateTime;//更新时间
}
第二步 编写service层
package com.example.geyaoeventmanage.service;
import com.example.geyaoeventmanage.pojo.User;
public interface UserService {
// 根据用户名查询用户
User findByUserName(String username);
void register(String username, String password);
}
第三步 编写实现类
package com.example.geyaoeventmanage.service.impl;
import com.example.geyaoeventmanage.mapper.UserMapper;
import com.example.geyaoeventmanage.pojo.User;
import com.example.geyaoeventmanage.service.UserService;
import com.example.geyaoeventmanage.utils.Md5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User findByUserName(String username) {
User u= userMapper.findByUserName(username);
return null;
}
@Override
public void register(String username, String password) {
//加密
String mdString = Md5Util.getMD5String(password);
//添加
userMapper.add(username,mdString);
}
}
第四步 编写mapper
package com.example.geyaoeventmanage.mapper;
import com.example.geyaoeventmanage.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UserMapper {
//用户名查询
@Select("select * from userinfo where username=#{username}")
User findByUserName(String username);
@Insert("insert into userinfo(username,password,create_time,update_time)"+"values(#{username},#{password},now(),now())")
void add(String username, String password);
}
第五步 编写controller
package com.example.geyaoeventmanage.controller;
import com.example.geyaoeventmanage.pojo.Result;
import com.example.geyaoeventmanage.pojo.User;
import com.example.geyaoeventmanage.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/register")
public Result register(String username,String password){
//查询用户
User u=userService.findByUserName(username);
//判断用户
if(u==null){
//没有暂用
userService.register(username,password);
return Result.success();
}else{
return Result.error("用户名已经占用");
}
}
}
依赖配置
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>geyao-event-manage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>geyao-event-manage</name>
<description>geyao-event-manage</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
postman测试