从零到一构建短链接系统(三)

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发送请求,如下图所示返回了正确结果

相关推荐

  1. Python构建GPT模型

    2024-03-16 13:12:03       45 阅读
  2. 构建股票预测模型的Python实战教程

    2024-03-16 13:12:03       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 13:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 13:12:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 13:12:03       82 阅读
  4. Python语言-面向对象

    2024-03-16 13:12:03       91 阅读

热门阅读

  1. Qt按回车键实现确定/发送按钮功能

    2024-03-16 13:12:03       37 阅读
  2. 27.函数指针数组

    2024-03-16 13:12:03       39 阅读
  3. vue3子父组件之间的调用

    2024-03-16 13:12:03       39 阅读
  4. 【HID开发】系统源码配置

    2024-03-16 13:12:03       36 阅读
  5. ubuntu20.04自动封禁恶意ip代码与设计思路

    2024-03-16 13:12:03       42 阅读