实习笔记

1、sql语句

当多表联查使用left join 使用on作为条件
String sql = “select sp.dicexefuncname, d.orgid,d.personid,d.id,d.electionmeetid,d.sort,baseuser.id,baseuser.realname,
basic.dicsex,basic.birthdate,baseinfo.joinpartytime from d_h_commitresult d
LEFT JOIN s_p_personbasic_condition basic ON d.personid=basic.id
LEFT JOIN t_s_base_user baseuser on basic.id=baseuser.id
LEFT JOIN d_m_baseinfo baseinfo on basic.id=baseinfo.id
LEFT JOIN s_p_exefunction sp ON sp.personid=basic.ID WHERE d.sort=‘纪委’and electionmeetid=’”+electionmeetid+"’";

一旦使用left join 没有where条件时 左表会显示全部内容,而使用了where 只有满足where条件的记录才会显示,失去left join的意义
此时的条件应使用on
on条件在左关联时,不管如何都会显示左表的信息

2、单选框和下拉框的回显

不能像input输入框直接会显出后台传过来的值
使用js回显

单选框回显:

var issetcommit = '${election.issetcommit}';
		if(issetcommit=='是'){
			$('#issetcommit1').attr({
				checked:true			
			});
		}else{
			$('#issetcommit2').attr({
				checked:true
			});
		}

先取得值后通过js为单选框追加属性

下拉框回显:
$('#discipdesecnum').val('${election.discipdesecnum}');通过js进行赋值

3、sql语句将某个属性的信息使用逗号连接

使用group_concat函数
select GROUP_CONCAT(数据库表的字段) from 表名;

4、算合计

datagrid的list<Map<String,Object>> 可以设定增加的顺序 list.add(0, sum);、
可以在map中放入新的键值对sum.put(“ctoralunitname”, “合计”);

合计时将每一列数据放入到一个中间数组中 将下一列数据与中间数组进行相加

Map<String, Object> sum = new HashMap<>();
Integer[] temp = new Integer[17];
for (Map<String, Object> map : list) {
    Integer[] a1 = new Integer[17];
    int i = -4;
    for (String key : map.keySet()) {
        if (key.equals("ctoralunitname") || key.equals("id")
        || key.equals("electoralunitid")
        || key.equals("electionid")
        || key.equals("electionstatus")) {
        sum.put("ctoralunitname", "合计");
        } else {
        if (temp[i] == null) {
            Integer a = (Integer) map.get(key);
            temp[i] = a;
        } else {
		a1[i] = (Integer) map.get(key);
		temp[i] = a1[i] + temp[i];
		sum.put(key, temp[i]);
			}
		}
  i++;
	}
}

5、父页面调用子页面的方法

frame1.window.childFunction();

frame1为子页面的id

6、子页面调用父页面的方法

window.parent.del2(tr, personid);

7、sql case when then 语句

SELECT id,num,CASE num WHEN 1 THEN end_time1 WHEN 2 THEN end_time2 END AS end_time FROM examine ORDER BY end_time DESC

查询id num 当num为1时显示end_time1 当num为2时显示end_time2 最后都将以end_time降序展示

8、删除、增加datagrid的行

删除

function mydel(personid) {
		var index = $("#disciplineList").datagrid("getRowIndex", personid);
		var rows = $("#disciplineList").datagrid("getRows");
		var tr = rows[index];
		$("#disciplineList").datagrid("deleteRow", index);
		window.parent.del2(tr, personid);

	};

增加

function childtest(tr) {
		$("#deleteList").datagrid("appendRow", tr);
	}

9、拼的最长的sql语句

	String sql = "select sp.dicexefuncname, d.orgid,d.personid,d.id,d.electionmeetid,d.sort,baseuser.id,baseuser.realname,basic.dicsex,basic.birthdate,baseinfo.joinpartytime 
	from d_h_commitresult d 
	LEFT JOIN s_p_personbasic_condition basic ON d.personid=basic.id 
	LEFT JOIN t_s_base_user baseuser on basic.id=baseuser.id 
	LEFT JOIN d_m_baseinfo baseinfo on basic.id=baseinfo.id 
	LEFT JOIN s_p_exefunction sp ON sp.personid=basic.ID 
	WHERE d.sort='委员'and electionmeetid='"+electionmeetid+"'";

10、replaceAll方法

if (StringUtil.isNotEmpty(optscope)) {
optscope = optscope.replaceAll(",", “,”);

将中文逗号替换成英文逗号

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值