JeecgBoot3.61 实现实体类对象和请求参数映射构建查询,主要解决需要根据数据库外键展示相关信息的需求

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())
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值