`
txf2004
  • 浏览: 6873733 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

简化多条件判断查询(1)

 
阅读更多

简化了多个if条件语句的判断,使多条件查询的判断更加简单,不用再为条件是否为空而烦恼,这里只是个模版,具体实例还需自己去调解

一:创建List集合,并加载List数据

List listSql = new ArrayList();
String sql ="";
listSql.add("cxUsers");
listSql.add(txtHPHM==null?"":txtHPHM);//判断所得到的内容是否为空,为空将标为空字符,反之得到的是前台页面传过来的值
listSql.add(txthpzl==null?"":txthpzl);
listSql.add(txtWFSJs==null?"":txtWFSJs);
listSql.add(txtWFSwJe==null?"":txtWFSwJe);
		
listSql.add(zhxxCx==null?"":zhxxCx);//综合信息标记
listSql.add(txtwfdd==null?"":txtwfdd);//违法地点标记
listSql.add(xq==null?"":xq);//辖区标记
listSql.add(txetJdry==null?"":txetJdry);//校对人员标记
sql = this.getZHXXSql(listSql); 




二:getZHXXSql方法,用于执行条件sql语句

public String getZHXXSql(List list){// list
	    StringBuffer sql = new StringBuffer();
		if("cxUsers".equals(list.get(0).toString())){
			sql.append("select count(*) from nlv_violation t where 1=1  and t.jdzt = '2' and t.jllx='1'");
			if(list.size()>1){
			if(!"".equals(list.get(1).toString())){//如果不为空则会执行此语句,反之不执行
				sql.append(" and t.hphm like '%"+list.get(1).toString()+"%'");
			}
			}
			if(list.size()>2){
			if(!"".equals(list.get(2).toString())){
				sql.append(" and t.hpzl='"+list.get(2).toString()+"'");
			}
			}
			if(list.size()>3){
				if(!"".equals(list.get(3).toString())){
					sql.append("  and  to_Char(t.wfsj,'yyyy-MM-dd')>='"+list.get(3).toString()+"'");
				}
				}
			if(list.size()>4){
				if(!"".equals(list.get(4).toString())){
					sql.append("  and  to_Char(t.wfsj,'yyyy-MM-dd')<='"+list.get(4).toString()+"'");
				}
				}
			
			if(list.size()>5){
				if(!"".equals(list.get(5).toString())){
					sql.append("  and t.sjly='"+list.get(5).toString()+"'");
				}
				}
			if(list.size()>6){
				if(!"".equals(list.get(6).toString())){
					sql.append(" and t.wfdd like '%"+list.get(6).toString()+"%'");
				}
				}
				if(list.size()>7){
				if(!"".equals(list.get(7).toString())){
					sql.append(" and t.cjjg='"+list.get(7).toString()+"'");
				}
				}
				if(list.size()>8){
					if(!"".equals(list.get(8).toString())){
						sql.append(" and t.jdr='"+list.get(8).toString()+"'");
					}
					}
			
		}
return sql.toString();
}




分享到:
评论

相关推荐

    es6中使用map简化复杂条件判断操作实例详解

    主要介绍了es6中使用map简化复杂条件判断操作,结合实例形式详细分析了传统方法与map简化复杂条件判断的相关操作技巧,需要的朋友可以参考下

    精通sql结构化查询语句

    6.2.4 使用别名 6.3 排序与分组 6.3.1 升序排序与降序排序 6.3.2 多列字段排序 6.3.3 使用GROUPBY子句对查询结果进行分组 6.3.4 HAVING子句的应用 6.4 条件查询 6.4.1 WHERE单条件语句查询 6.4.2 运算符查询 6.4.3 ...

    精通SQL 结构化查询语言详解

    10.1.1 在多表查询中使用子查询  10.1.2 在子查询中使用聚合函数  10.2 创建和使用返回多行的子查询  10.2.1 IN子查询  10.2.2 IN子查询实现集合交和集合差运算 10.2.3 EXISTS子查询  10.2.4 EXISTS子...

    判断2个字符串是否含有相同的字符

    形式,并且这种不能用'\0'判断是否结束(这种判断方式能很方便加在while条件中用于判断越界——b != '\0')。 如果是字符串常量: char *b = "dasadafasdf"; 这种情况,sizeof()就废掉了! 总之: 对号入座,...

    矿井水反渗透处理膜污染的判断与预防

    以反渗透标准化产水量下降10%作为判断膜污染的条件,推导出清洗指数(CI)的计算公式,当CI&gt;1时,表明反渗透膜已污染,需进行化学清洗;结合案例,说明了CI的计算过程,给出了CI曲线图的使用方法。为有效预防膜污染,应对加药...

    精通SQL--结构化查询语言详解

    10.1.1 在多表查询中使用子查询 187 10.1.2 在子查询中使用聚合函数 188 10.2 创建和使用返回多行的子查询 190 10.2.1 in子查询 190 10.2.2 in子查询实现集合交和集合差运算 191 10.2.3 exists子查询 192 ...

    JS switch判断 三目运算 while 及 属性操作代码

    三 目运算:如var a = 10; var b= 12; c = a&gt;b ?a:b; 若成立执行a否则执行b var isHide = true;...若用if判断语句如下 ...判断条件?...条件成立返回:成立执行的结果 ...简化版的if判断 continue 跳过本次循环:不能写入

    Java EE常用框架.xmind

    过滤条件查询接口 注解 nameQuery注解 SQL命名,调用的时候根据名称调用 查询注解 1,targetEntity 属性表示默认关联的实体类型,默认为当前标注的实体类。 2,cascade属性表示与此实体...

    python-的三元表达式(1).docx

    python 的三元表达式 Python的三元表达式是一种简洁而强大的语法结构,它可以在一行代码中实现条件判断和赋值操作。三元表达式的语法结构如下: ``` value_if_true if condition else value_if_false ``` 其中,...

    基于向量夹角的三角网格模型简化算法 (2005年)

    该算法首先计算每个网格顶点与其周围相邻顶点所形成的方向向量,然后根据方向向量的平均夹角来识别和简化网格中的平面区域,之后再以该顶点所处区域是否比较平坦为顶点去除限制条件,判断该顶点是否符合安全去除原则,...

    mybatis动态sqlmybatis动态sqlmybatis动态sql

    它允许我们根据条件判断是否拼接SQL语句的一部分。使用if标签时,可以使用Java代码对条件进行判断,以决定是否添加对应的SQL片段。 例如: ```xml SELECT * FROM user != null"&gt; AND name = #{name} != ...

    liuweiyibai#lwyb-interview#惰性函数1

    惰性函数通过第一次执行时根据条件判断来选择函数覆盖原函数,简化函数判断代码应用根据浏览器环境是否支持window.addEventListener来覆盖原函数/

    jstl中文教程.pdf

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerWorks 上其新系列...

    表达式语言

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列...

    python 状态模式(示例)

    设计模式——状态模式状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类应用场景:当控制一个对象的状态转换的条件表达式过于复杂时,把状态的判断逻辑转移到表示不同...

    JSTL 入门 表达式语言.mht

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列...

    JSTL 入门:表达式语言

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerWorks 上其新系列...

    JSTL 表达式 入门 访问SQL和XML内容

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在developerWorks 上其新系列的...

    jstl中文教程pdf

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列...

Global site tag (gtag.js) - Google Analytics