JeecgBoot3.61 实现实体类对象和请求参数映射构建查询,主要解决需要根据数据库外键展示相关信息的需求
有一张表,例如有一张班级表,有一个外键叫teacher_id ,为教师表的主键,需要在班级列表展示班主任的姓名、年龄、性别
另外还有一张表是教师表,主要存放教师信息
此类需求关键的点在于,需要在班级实体类中去建立教师的一些展示信息,姓名、年龄、性别
文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、教师实体类
主要注解:@TableField(exist = false)
是MyBatis-Plus框架提供的注解之一,用于标识实体类中的字段在数据库表中不存在
@Data
@TableName("team_class")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="team_class对象", description="班级表")
public class TeamClass implements Serializable {
private static final long serialVersionUID = 1L;
@TableField(exist = false)
private String teacherName;
@TableField(exist = false)
private Integer sex;
@TableField(exist = false)
private Integer age;
}
二、Controller代码
示例代码如下:
/**
* 分页列表查询
*
* @param teamClass
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "班级管理-分页列表查询")
@ApiOperation(value="班级管理-分页列表查询", notes="班级管理-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TeamClass>> queryPageList(TeamClass teamClass,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TeamClass> queryWrapper = QueryGenerator.initQueryWrapper(teamClass, req.getParameterMap());
// 判断前端页面是否传递了 reportTime 字段
if (teamClass.getCreateTime() != null) {
// 获取前端所选择的起始时间和结束时间
Date startTime = DateUtils.getBeginOfDay(teamClass.getCreateTime());
Date endTime = DateUtils.getEndOfDay(teamClass.getCreateTime());
// 添加大于等于起始时间的条件
queryWrapper.ge("create_time", startTime);
// 添加小于等于结束时间的条件
queryWrapper.le("create_time", endTime);
} else {
// 获取当天的起始时间和结束时间
Date startTime = DateUtils.getBeginOfDay(new Date())

最低0.47元/天 解锁文章
6366

被折叠的 条评论
为什么被折叠?



