1 Star 0 Fork 5

qixianchuan / simple-dao

forked from Levin / simple-dao 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
TableJoinStatDTO.java 1.74 KB
一键复制 编辑 原始数据 按行查看 历史
云层之上 提交于 2021-01-16 00:55 . 1.优化注解的中的条件性能
package com.levin.commons.dao.dto;
import com.levin.commons.dao.JoinOption;
import com.levin.commons.dao.TargetOption;
import com.levin.commons.dao.annotation.Gt;
import com.levin.commons.dao.annotation.Gte;
import com.levin.commons.dao.annotation.Op;
import com.levin.commons.dao.annotation.order.OrderBy;
import com.levin.commons.dao.annotation.order.SimpleOrderBy;
import com.levin.commons.dao.annotation.select.Select;
import com.levin.commons.dao.annotation.stat.Avg;
import com.levin.commons.dao.annotation.stat.Count;
import com.levin.commons.dao.annotation.stat.GroupBy;
import com.levin.commons.dao.annotation.stat.Sum;
import com.levin.commons.dao.domain.E_Group;
import com.levin.commons.dao.domain.E_User;
import com.levin.commons.dao.domain.Group;
import com.levin.commons.dao.domain.User;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
@TargetOption(
entityClass = User.class, //主表
alias = E_User.ALIAS, //主表别名
resultClass = TableJoinStatDTO.class, //结果类
isSafeMode = true, //是否安全模式,安全模式时无法执行无条件的查询
//连接表
joinOptions = {
@JoinOption(entityClass = Group.class, alias = E_Group.ALIAS) //连接的表,和别名
})
public class TableJoinStatDTO {
// 统计部门人数
@Count(havingOp = Op.Gt, orderBy = @OrderBy)
Integer userCnt = 5;
// 统计部门总得分
@Sum
Long sumScore;
// 统计部门平均分
@Avg(havingOp = Op.Gt, orderBy = @OrderBy, alias = "avg")
Long avgScore = 20L;
//按部门分组统计,结果排序
@GroupBy(domain = E_Group.ALIAS, value = E_Group.name, orderBy = @OrderBy())
String groupName;
}
Java
1
https://gitee.com/qixianchuan/simple-dao.git
git@gitee.com:qixianchuan/simple-dao.git
qixianchuan
simple-dao
simple-dao
master

搜索帮助