jeefast框架:实现成绩查询功能
xml配置项中我们先重新编写SQL语句
<select id="queryPageList" resultMap="BaseResultMap">
SELECT pn.name,c.`cname`,
SUM(CASE WHEN ps.coid='1' THEN sname END )AS 'domain',
SUM(CASE WHEN ps.coid='2' THEN sname END )AS 'skill',
SUM(CASE WHEN ps.coid='3' THEN sname END )AS 'politics',
SUM(CASE WHEN ps.coid='4' THEN sname END )AS 'quality',
SUM(CASE WHEN ps.coid='5' THEN sname END )AS 'practice'
FROM pf_score ps INNER JOIN pf_student pn ON ps.`id`=pn.`id`
INNER JOIN pf_class c ON c.`cid`=pn.`cid`
GROUP BY pn.`name`,c.cname
<where>
<if test="sname != null and sname.trim() != ''">
and ps.`sname` like concat('%',#{sname},'%')
</if>
</where>
</select>
然后就是我们在实体当中写出具体属性
package cn.jeefast.modules.platform.entity;
import cn.jeefast.common.excel.ExcelResources;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author theodo
* @since 2017-12-18
*/
@TableName("pf_score")
public class Score extends Model<Score> {
private static final long serialVersionUID = 1L;
/**
* 序列
*/
@TableId(value="sid", type= IdType.AUTO)
private Long sid;
/*成绩*/
private int sname;
private int coid;
private int id;
/*外键*/
@TableField(exist = false)
private int cid;
/*关联模型*/
@TableField(exist = false)
private Course pf_course;
@TableField(exist = false)
private Student pf_student;
@TableField(exist = false)
private Class pf_class;
/*专业*/
@TableField(exist = false)
private String domain;
/*技能*/
@TableField(exist = false)
private String skill;
/*政治*/
@TableField(exist = false)
private String politics;
/*素质*/
@TableField(exist = false)
private String quality;
/*实践*/
@TableField(exist = false)
private String practice;
/*学生姓名*/
@TableField(exist = false)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getCoid() {
return coid;
}
public void setCoid(int coid) {
this.coid = coid;
}
public Class getPf_class() {
return pf_class;
}
public void setPf_class(Class pf_class) {
this.pf_class = pf_class;
}
public String getDomain() {
return domain;
}
public void setDomain(String domain) {
this.domain = domain;
}
public String getSkill() {
return skill;
}
public void setSkill(String skill) {
this.skill = skill;
}
public String getPolitics() {
return politics;
}
public void setPolitics(String politics) {
this.politics = politics;
}
public String getQuality() {
return quality;
}
public void setQuality(String quality) {
this.quality = quality;
}
public String getPractice() {
return practice;
}
public void setPractice(String practice) {
this.practice = practice;
}
public Student getPf_student() {
return pf_student;
}
public void setPf_student(Student pf_student) {
this.pf_student = pf_student;
}
public Course getPf_course() {
return pf_course;
}
public void setPf_course(Course pf_course) {
this.pf_course = pf_course;
}
public Long getSid() {
return sid;
}
public void setSid(Long sid) {
this.sid = sid;
}
public int getSname() {
return sname;
}
public void setSname(int sname) {
this.sname = sname;
}
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
protected Serializable pkVal() {
return this.sid;
}
@Override
public String toString() {
return "pf_score{" +
", sid=" + sid +
", sname=" + sname +
"}";
}
}
js界面
colModel: [
{ label: '学生姓名', name: 'pf_student.name', width: 20},
{ label: '所在班级', name: 'pf_class.cname', width: 20},
{ label: 'Java', name: 'domain', width: 20},
{ label: 'PHP', name: 'skill', width: 20},
{ label: 'ui', name: 'politics', width: 20},
{ label: 'python', name: 'quality', width: 20},
{ label: '大数据和云计算', name: 'practice', width: 20},
],
实现效果