背景:

同一张表中不能有重复的名称,添加时光标失焦文本框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;
	}

03-书架放书法则的更多相关文章

  1. 网易云音乐 ubuntu14.04安装包url

    今天无聊上了一波网易云音乐,发现出了新版本但是14.04还有一些已经没了。

  2. Ubuntu 卸载 网易云音乐

    #Ubuntu卸载网易云音乐#查询软件包是否存在dpkg-l|grepnetease-cloud-music#卸载sudoapt-getremovenetease-cloud-music原文地址:http://jinliang.blog.51cto.com/8981814/1959548

  3. Introducing Regular Expressions 正则表达式入门读书总结

    因为以前对于正则表达式不熟,所以看的过程中作了一些笔记。目前来说我用到正则的机会还少,但正则式如此强大,应用也如此广泛,了解一些还是有好处的,免的到时感觉“书到用时方恨少”。有时确实感觉缺少一个强有力的处理文本的工具,unix工具sed和awk只会点皮毛,perl不会,以后有时间要好好学习一下这些工具,毕竟这些也是程序员的基本功,加油!

  4. 03-书架放书法则

    要是还是按照添加验证方式判断,我直接失焦,也会提示重复。解决方案:书架放书法则假如一个书架放不同名称的书籍,书和书架都有书名称、位置信息,(首图)假如我拿了一本书,再放一本回原位的时候:1.书籍名称与书架上其他任意一个不同,可以放回,不会重复。(放新书)2.书籍名称与书架上其他任意一个相同,如果原书放回,不重复,书籍的标记位置与书架标记位置不同,则重复。

  5. ubuntu下安装网易云音乐

    http://music.163.com/#/download

  6. 什么是Delphi的好的多线程书?

    在哪里可以得到一本关于Delphi线程的好书.一些适合这个主题的新来者的东西.解决方法不是一本书,而是文章Multithreading–TheDelphiWay,byMartinHarvey,是一个很好的开始.

  7. c# – .NET中有什么可以获得文化特有的所有工作日的缩写吗?

    我需要不同文化中的平日缩写.我已经用西班牙语了.在.NET中有没有已经有的东西?

  8. Delphi TMediaPlayer播放音乐出现"no MCI device open"的错误的解决方法;循环播放

    总结以上是DEVMAX为你收集整理的DelphiTMediaPlayer播放音乐出现"noMCIdeviceopen"的错误的解决方法;循环播放全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  9. iOS:如何检测音乐是否在任何背景音乐应用程序中播放?

    当我在内置的iPod应用程序中播放音乐时,目前我的游戏正确处理无法使用自己的BGM,但是当潘多拉(Pandora)等应用程序正在播放音乐时,我的游戏正确无误.目前,在我的applicationDidBecomeActive方法中,我检查[[MPMusicPlayerControlleriPodMusicPlayer]playbackState]来确定音乐是否正在播放.如果一个像潘多拉这样的应用程序

  10. c# – 什么是字符串文化

    DEVMAX收集整理的这篇文章主要介绍了c# – 什么是字符串文化,DEVMAX小编觉得挺不错的,现在分享给大家,也给大家做个参考。

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到&lt;input&gt;中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部