数据插入修改null值怎么处理

今天 在项目中遇到涉及插入数据为空  且数据会用来计算时  怎么 处理数据             注意如果数据不会用来计算   那直接插入Null值即可,不用处理

第一种:直接将null插入数据库,什么时候调用 什么时候讲null转换为0

           坏处:数值经常调用 处理多次 太麻烦,数据list页面显示时候 为null值    不符合实际需要。


第二种:在实体类entity修改 get方法返回值

          坏处:在新增页面,输入框中直接显示默认值为0  新增时还要一个一个修改     不符合需求


第三种:在数据插入数据库之前  讲null处理为0  

         好处:以后调用不用再处理null 避免出现空指针异常 而且在list页面 数据显示为0   符合实际需要



注意:插入数据库时处理空值,修改之前也要考虑  处理修改为null的情况     代码大致一致。

@RequiresPermissions(value={"echarts:memPutInto:add","echarts:memPutInto:edit"},logical=Logical.OR)
	@RequestMapping(value = "save")
	public String save(MemPutInto memPutInto, Model model, RedirectAttributes redirectAttributes) throws Exception{
		if (!beanValidator(model, memPutInto)){
			return form(memPutInto, model);
		}
		if(!memPutInto.getIsNewRecord()){//编辑表单保存
			MemPutInto t = memPutIntoService.get(memPutInto.getId());//从数据库取出记录的值
			//这两个字段修改后 的结果   如果为 空值 处理为 0 
			memPutInto.setMemberNum(memPutInto.getMemberNum()!=null&&!memPutInto.getMemberNum().equals("")?memPutInto.getMemberNum():0);
			memPutInto.setTogetherMemberNum(memPutInto.getTogetherMemberNum()!=null&&!memPutInto.getTogetherMemberNum().equals("")?memPutInto.getTogetherMemberNum():0);
			//其他字段 修改后 如果为 空值 将 不覆盖数据库记录  执行下面 代码
			MyBeanUtils.copyBeanNotNull2Bean(memPutInto, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
			memPutIntoService.save(t);//保存
		}else{//新增表单保存
			//可空字段  插入时不填  转换为0
			memPutInto.setMemberNum(memPutInto.getMemberNum()!=null&&!memPutInto.getMemberNum().equals("")?memPutInto.getMemberNum():0);
			memPutInto.setTogetherMemberNum(memPutInto.getTogetherMemberNum()!=null&&!memPutInto.getTogetherMemberNum().equals("")?memPutInto.getTogetherMemberNum():0);
			memPutIntoService.save(memPutInto);//保存
		}
		addMessage(redirectAttributes, "保存员工投入状况成功");
		return "redirect:"+Global.getAdminPath()+"/echarts/memPutInto/?repage";
	}
	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值