1.根据数据库表,利用在线网站https://jully.top/generator/
根据数据库Info自动生成代码
2.在entity中创建UserDO
@Data
@TableName("t_user")
public class UserDO {
/**
* id
*/
private Long id;
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 真实姓名
*/
private String realName;
/**
* 手机号
*/
private String phone;
/**
* 邮箱
*/
private String mail;
/**
* 注销时间戳
*/
private Long deletionTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
/**
* 删除标识 0:未删除 1:已删除
*/
private Integer delFlag;
}
3.admin的pom.xml文件中引入持久层框架
4.admin的application.yaml中引入持久层配置文件,并改成自己的数据库名
5.在ShortLinkAdminAppliaction中添加持久层扫描注解
@MapperScan("com.oli.shortlink.admin.dao.mapper")
一般来说一定要加上路径
6.shortlink-all的pom.xml加上lombok(可在其余步骤之前其实)
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
7.mapper中创建UserMapper接口
public interface UserMapper extends BaseMapper<UserDO> {
}
8.service中创建UserService接口
public interface UserService extends IService<UserDO> {
}
9.service中创建impl目录,目录中创建UserServiceImpl
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> implements UserService {
}
10.UserController增加注解@RequiredArgsConstructor
比@Autowired和@Resource好
再增加private final UserService userService;
11.设置一手自动导入包
12.添加目录dto.req和dto.resp,并在resp目录下创建UserRespDTO
只需要有用的就行
@Data
public class UserRespDTO {
/**
* id
*/
private Long id;
/**
* 用户名
*/
private String username;
/**
* 真实姓名
*/
private String realName;
/**
* 手机号
*/
private String phone;
/**
* 邮箱
*/
private String mail;
}
13.UserService中添加
UserRespDTO getUserByUsername(String username);
14.UserServiceImpl中添加
public UserRespDTO getUserByUsername(String username) {
return null;
}
15.修改UserServiceImpl
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> implements UserService {
public UserRespDTO getUserByUsername(String username) {
LambdaQueryWrapper<UserDO> queryWrapper = Wrappers.lambdaQuery(UserDO.class)
.eq(UserDO::getUsername,username);
UserDO userDO = baseMapper.selectOne(queryWrapper);
UserRespDTO result = new UserRespDTO();
BeanUtils.copyProperties(userDO,result);
return result;
}
}
16.在sqlyog中创建一条用户记录
17.UserController改为
@RestController
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
/**
*根据用户名查询用户信息
*/
@GetMapping("/api/shortlink/v1/user/{username}")
public UserRespDTO getUserByUsername(@PathVariable("username") String username){
return userService.getUserByUsername(username);
}
}
18.启动项目后用apifox发送请求,如下图所示返回了正确结果