使用QueryDSL自定义对象

 这是DAO层的实现类

	public Page<MessageDto> getSysPage(Integer levelId, Pageable pageable) {

		QSysMessage qSysMessage = QSysMessage.sysMessage;
		QStoreMessage qStoreMessage = QStoreMessage.storeMessage;
		BooleanBuilder boolbuild = new BooleanBuilder();
		// 排除已经删除的店铺消息
		boolbuild.and(qStoreMessage.status.isNull().or(qStoreMessage.status.eq(1)))
						.and(qSysMessage.mesType.eq(1)
						.and(qSysMessage.recTargetType.eq(3)
						// 选择系统消息+店铺等级+等级ID
						.and(qSysMessage.storeGroupId.eq(levelId)))
						.or(qSysMessage.mesType.eq(1)
						// 选择系统消息+全部
						.and(qSysMessage.recTargetType.eq(1))));
		
		JPAQuery<MessageDto> query = super.getJPAQueryFactory()
				.select(
						Projections.bean(
								MessageDto.class,
								qSysMessage.id.as("messageId"), 
								qStoreMessage.id.as("storeMessageId"),
								qSysMessage.title.as("title"),
								qSysMessage.content.as("content"), 
								qSysMessage.createTime.as("createTime"),
								qStoreMessage.status.as("status")))
				.from(qSysMessage)
				.leftJoin(qStoreMessage)
				.on(qSysMessage.id.eq(qStoreMessage.messageId))
				.where(boolbuild)
				.orderBy(qSysMessage.createTime.desc());
		return QuerydslUtils.page(query, pageable, null);
	}

这是自定义的对象

@Entity
public class MessageDto {
    /** 消息id */
	private Integer messageId ;
	/** 标题 **/
    private  String title ;
    /** 内容 */
    private  String content ;
    /** 状态(0为未读,1为已读)  */
    private  Integer status ;
    /**店铺ID**/
    private Integer storeId;
    /**会员ID**/
    private Integer memberId;
    /**店铺消息ID**/
    private Integer storeMessageId;
    /**会员消息ID**/
    private Integer memberMessageId;
    /**创建时间**/
    private Date createTime;  
    
    public MessageDto(){
    };
    
    @Id
    public Integer getMessageId() {
        return messageId;
    }

    public void setMessageId(Integer messageId) {
        this.messageId = messageId;
    }
    
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	
	public Integer getStatus() {	    
	    if (status==null) {
            this.status = 0;
        }
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Integer getStoreId() {
		return storeId;
	}

	public void setStoreId(Integer storeId) {
		this.storeId = storeId;
	}

	public Integer getStoreMessageId() {
		return storeMessageId;
	}

	public void setStoreMessageId(Integer storeMessageId) {
		this.storeMessageId = storeMessageId;
	}


    public Integer getMemberId() {
        return memberId;
    }

    public void setMemberId(Integer memberId) {
        this.memberId = memberId;
    }

    public Integer getMemberMessageId() {
        return memberMessageId;
    }

    public void setMemberMessageId(Integer memberMessageId) {
        this.memberMessageId = memberMessageId;
    }

    @Override
    public String toString() {
        return "MessageDto [messageId=" + messageId + ", title=" + title + ", content=" + content + ", status=" + status
            + ", storeId=" + storeId + ", memberId=" + memberId + ", storeMessageId=" + storeMessageId
            + ", memberMessageId=" + memberMessageId + ", createTime=" + createTime + "]";
    }
		
}

记录一下,以防忘记

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值