03-书架放书法则

背景:

       同一张表中不能有重复的名称,添加时光标失焦文本框Ajax判断,查一下数据库是否有这个名称即可。

       进行修改时,如何判断呢?要是还是按照添加验证方式判断,我直接失焦,也会提示重复。

解决方案:书架放书法则(针对修改流程模拟)

        假如一个书架放不同名称的书籍,书和书架都有书名称、位置信息,(首图)假如我拿了一本书,再放一本回原位的时候:

  1.书籍名称与书架上其他任意一个不同,可以放回,不会重复。(放新书)

2.书籍名称与书架上其他任意一个相同,如果原书放回,不重复,书籍的标记位置与书架标记位置不同,则重复。(放已有书名的书)




结论:对于修改,放新书可以;

            放已有书名的书,必须放回原位,位置不同则重复。




/**
	 *@Title:checkGroupsNameExsis
	 *@Description:检测群组名称是否存在
	 *@param memGroupsDTO会员群组数据传输实体类
	 *@Return:boolean返回布尔类型值,存在返回true,不存在返回false
	 *@author:徐凯强
	 *@Date:2014-8-26下午08:00:12
	 */
	public boolean checkGroupsNameExsis(MemGroupsDTO memGroupsDTO, String method) {
		StringBuilder sb = new StringBuilder(" from MemGroups o where 1=1 ");
		boolean flag = false;
		/** 查找数据库中是否有这个名称 **/
		sb.append(" and o.groupName='" + memGroupsDTO.getGroupName() + "'");
		List<MemGroups> memList = em.createQuery(sb.toString()).getResultList();
		/** 如果添加方法,有一条数据,表示重复,true表示重复,false表示不重复 */
		if (method.equals("addSave")) {
			if (memList.size() > 0) {
				flag = true;
			} else {
				flag = false;
			}
		} else {
			/** 如果是修改方法,编号也相同表示不重复,编号不同不重复 */
			if (memList.size() > 0) {
				if (memList.get(0).getGroupId().equals(memGroupsDTO.getGroupId())) {//放旧书,放原位
					flag = false;
				} else {
					flag = true;
				}
			} else {
				flag = false;//放新书
			}
		}
		return flag;
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会编程的阿强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值