关于如何处理Mybatis参数为对象中包含list情况
来源:互联网 发布:js tbody 动态添加行 编辑:程序博客网 时间:2024/05/16 10:37
1.实体类:
import java.math.BigDecimal;
import java.util.Date;
public class T_13_class_note_optionPo {
private BigDecimal id;
private BigDecimal checkItemId;
private String noteTitle;
private BigDecimal recordMin;
private String recordType;
private BigDecimal lessenScore;
private BigDecimal timeCount;
private String timeType;
private String isAuditing;
private String auditingType;
private String selectStudent;
private String selectType;
private String isMemo;
private String isUpload;
private BigDecimal uploadCount;
private String creator;
private Date createTime;
private String modifyMan
private Date modifyTime;
private List<dateTimeList> list;
public BigDecimal getId() {
return id;
}
public void setId(BigDecimal id) {
this.id = id;
}
public BigDecimal getCheckItemId() {
return checkItemId;
}
public void setCheckItemId(BigDecimal checkItemId) {
this.checkItemId = checkItemId;
}
public String getNoteTitle() {
return noteTitle;
}
public void setNoteTitle(String noteTitle) {
this.noteTitle = noteTitle == null ? null : noteTitle.trim();
}
public BigDecimal getRecordMin() {
return recordMin;
}
public void setRecordMin(BigDecimal recordMin) {
this.recordMin = recordMin;
}
public String getRecordType() {
return recordType;
}
public void setRecordType(String recordType) {
this.recordType = recordType == null ? null : recordType.trim();
}
public BigDecimal getLessenScore() {
return lessenScore;
}
public void setLessenScore(BigDecimal lessenScore) {
this.lessenScore = lessenScore;
}
public BigDecimal getTimeCount() {
return timeCount;
}
public void setTimeCount(BigDecimal timeCount) {
this.timeCount = timeCount;
}
public String getTimeType() {
return timeType;
}
public void setTimeType(String timeType) {
this.timeType = timeType == null ? null : timeType.trim();
}
public String getIsAuditing() {
return isAuditing;
}
public void setIsAuditing(String isAuditing) {
this.isAuditing = isAuditing == null ? null : isAuditing.trim();
}
public String getAuditingType() {
return auditingType;
}
public void setAuditingType(String auditingType) {
this.auditingType = auditingType == null ? null : auditingType.trim();
}
public String getSelectStudent() {
return selectStudent;
}
public void setSelectStudent(String selectStudent) {
this.selectStudent = selectStudent == null ? null : selectStudent.trim();
}
public String getSelectType() {
return selectType;
}
public void setSelectType(String selectType) {
this.selectType = selectType == null ? null : selectType.trim();
}
public String getIsMemo() {
return isMemo;
}
public void setIsMemo(String isMemo) {
this.isMemo = isMemo == null ? null : isMemo.trim();
}
public String getIsUpload() {
return isUpload;
}
public void setIsUpload(String isUpload) {
this.isUpload = isUpload == null ? null : isUpload.trim();
}
public BigDecimal getUploadCount() {
return uploadCount;
}
public void setUploadCount(BigDecimal uploadCount) {
this.uploadCount = uploadCount;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator == null ? null : creator.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getModifyMan() {
return modifyMan;
}
public void setModifyMan(String modifyMan) {
this.modifyMan = modifyMan == null ? null : modifyMan.trim();
}
public Date getModifyTime() {
return modifyTime;
}
public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
}
}
2.数据库操作:
import org.apache.ibatis.annotations.Param;
mapper接口层:
public List<Class_check_itemPo> queryClassCheckItemMarkList_note_month(@Param("as")Class_note_optionPo noteOptionPo);
xml:
<select id="queryClassCheckItemMarkList_note_week_month" resultType="Class_check_itemPo">
select
v.id,
v.class_id,
nvl(v.top_mark,0)-sum(minus_mark) as sumMark
from (
<foreach collection="as.dateTimeList" item="item" index="index" separator="union all">
select
a.id,
c.class_id,
d.week_no,
a.top_score,
decode(sign(b.min_record-nvl(d.noteCount,0)),1,(b.min_record-nvl(d.noteCount,0))*b.less,0) as minus_mark
from t_13_class_check_item a
left join t_13_class_note_option b on b.check_item_id=a.id
left join t_13_class_check_quota_class c on c.check_quota_id = a.check_quota_id
left join t_13_class_check_quota d on d.id = c.check_quota_id
left join(
select
aa.check_note_option_id, aa.class_id, aa.week_no, count(aa.id) as noteCount
from t_class_check_note aa
<trim prefix="WHERE" prefixOverrides="AND |OR">
to_char(aa.note_date,'yyyy-MM-dd') >= #{item.startDate,jdbcType=DATE}
and to_char(aa.note_date,'yyyy-MM-dd') <= #{item.endDate,jdbcType=DATE}
</trim>
group by aa.check_note_option_id, aa.class_id, aa.week_no
) d on d.p_id=b.id and d.class_code=c.class_code
<trim prefix="WHERE" prefixOverrides="AND |OR">
a.input_type='14' and b.is_auditing=0 and b.record_type='2'
<if test="class_id != null">and c.class_id=#{as.class_id}</if>
<if test="id != null">and a.id = #{as.id}</if>
</trim>
</foreach>
)v
group by v.id, v.class_id, v.top_mark
</select>
标红色的位置为特别注意的地方
- 关于如何处理Mybatis参数为对象中包含list情况
- Mybatis参数为对象中包含list情况处理
- mybatis的mapper接口方法参数是对象,对象中包含list情况的处理
- MyBatis传入参数为集合 map中包含 list 数组
- spring MVC中传递的参数对象中包含list的情况
- spring MVC中传递的参数对象中包含list的情况
- spring MVC中传递的参数对象中包含list的情况
- mybatis复合参数 map中包含list的参数
- mybatis 查询参数为list、数组、map的情况
- struts2中请求包含参数如何处理
- mybatis配置对象包含对象以及List
- mybatis配置对象包含对象以及List
- mybatis如何处理参数
- (原创)easyui_datagrid_load中参数为变量的情况处理
- java List的<>中 方法参数是父类对象的list。传入子类对象时的处理
- mybatis 关于 传入参数为集合list和map的写法
- mybatis where 条件为list集合处理
- Ibatis中sqlmap参数map中还需要套list的情况如何写?
- C#线程学习笔记2
- jetty热部署
- hdu 2031进制转换
- Unity3D
- 【漫画技术】揭秘Android事件分发机制
- 关于如何处理Mybatis参数为对象中包含list情况
- 《图解HTTP》读书笔记(5)第5章与HTTP协作的Web服务器(关键词:HTTP/)
- 【1701H1】【穆晨】【171116】连续第三十七天总结
- java作业
- struct cdev机构体
- 11月16日训练笔记
- 理解指针
- 关于http的header()头信息示例
- hive参数配置及说明