亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hibernatesqlutils.java

?? OBPM是一個開源
?? JAVA
字號:
package cn.myapps.base.dao;

import java.lang.reflect.Field;
import java.util.Iterator;

import org.apache.commons.beanutils.PropertyUtils;

import cn.myapps.base.action.ParamsTable;
import cn.myapps.util.StringUtil;

/**
 * The base hibernate sql utility.
 */
public class HibernateSQLUtils implements SQLUtils {

	/**
	 * Create the where statement.
	 * @param classname String
	 * @param params Object
	 * @return The where statement.
	 * @see cn.myapps.base.dao.SQLUtils#createWhere(java.lang.String,
	 *      java.lang.Object)
	 */
	public String createWhere(String classname, Object params) {

		// If the paramter is null, return the "";
		if (params == null)
			return "";

		// If system cann't find the class, return the "";
		Class clazz = null;
		try {
			clazz = Class.forName(classname);
		} catch (Exception ex) {
			return "";
		}

		return createWhere((ParamsTable) params);
	}

	/**
	 * Create the where statement.
	 * 
	 * @param params
	 *            The parameter table
	 * @return The where statement.
	 */
	public String createWhere(ParamsTable params) {
		// If the paramter is null, return the "";
		if (params == null)
			return "";

		ParamsTable paramsTable = getParameterTable(params);
		Iterator iter = paramsTable.getParameterNames();
		String cndtn = "";

		while (iter.hasNext()) {
			String prmn = (String) iter.next();
			String paramsValue = paramsTable.getParameterAsString(prmn);
			int st = prmn.indexOf("_");

			if (st > 0 && paramsValue != null && paramsValue.length() > 0) {
				String fieldname = prmn.substring(st + 1).toLowerCase();

				if (prmn.toLowerCase().startsWith("san_")) {
					cndtn += fieldname + " <> '' and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("sxn_")) {
					cndtn += fieldname + " != '' and ";
					continue;
				}
				// 非零
				if (prmn.toLowerCase().startsWith("inz_")) {
					cndtn += fieldname + " <> 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("lnz_")) {
					cndtn += fieldname + " <> 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("dnz_")) {
					cndtn += fieldname + " <> 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("cnz_")) {
					cndtn += fieldname + " <> 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("snz_")) {
					cndtn += fieldname + " <> ' and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("fnz_")) {
					cndtn += fieldname + " <> 0 and ";
					continue;
				}
				// 正數
				if (prmn.toLowerCase().startsWith("ip_")) {
					cndtn += fieldname + " > 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("lp_")) {
					cndtn += fieldname + " > 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("dp_")) {
					cndtn += fieldname + " > 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("cp_")) {
					cndtn += fieldname + " > 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("fp_")) {
					cndtn += fieldname + " > 0 and ";
					continue;
				}
				// 負數
				if (prmn.toLowerCase().startsWith("in_")) {
					cndtn += fieldname + " < 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("ln_")) {
					cndtn += fieldname + " < 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("dn_")) {
					cndtn += fieldname + " < 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("cn_")) {
					cndtn += fieldname + " < 0 and ";
					continue;
				}
				if (prmn.toLowerCase().startsWith("fn_")) {
					cndtn += fieldname + " < 0 and ";
					continue;
				}

				String[] vallist = null;
				try {
					vallist = StringUtil.split(paramsValue, "|");
				} catch (Exception ex) {
				}
				String val = "";

				cndtn += " ( ";
				for (int j = 0; j < vallist.length; j++) {
					val = vallist[j];
					// 等于
					if (prmn.toLowerCase().startsWith("n_") && val.length() > 0) {
						cndtn += fieldname + " = " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("i_") && val.length() > 0) {
						cndtn += fieldname + " = " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("l_") && val.length() > 0) {
						cndtn += fieldname + " = " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("d_") && val.length() > 0) {
						// cndtn += fieldname + " = '" + val + "' or ";
						cndtn += fieldname + " = TO_DATE('" + val
								+ "', 'yyyy-mm-dd') or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("c_") && val.length() > 0) {
						cndtn += fieldname + " = " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("s_") && val.length() > 0) {
						cndtn += fieldname + " like '" + val + "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("f_") && val.length() > 0) {
						cndtn += fieldname + " = " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("t_") && val.length() > 0) {
						cndtn += fieldname + " = '" + val + "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("b_") && val.length() > 0) {
						cndtn += fieldname + " = '" + val + "' or ";
						continue;
					}
					// 不等于
					if (prmn.toLowerCase().startsWith("xi_")
							&& val.length() > 0) {
						cndtn += fieldname + " <> " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("xl_")
							&& val.length() > 0) {
						cndtn += fieldname + " <> " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("xn_")
							&& val.length() > 0) {
						cndtn += fieldname + " <> " + val + " or ";
						continue;
					}

					// 大于
					if (prmn.toLowerCase().startsWith("ib_")
							&& val.length() > 0) {
						cndtn += fieldname + " > " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("lb_")
							&& val.length() > 0) {
						cndtn += fieldname + " > " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("db_")
							&& val.length() > 0) {
						cndtn += fieldname + " > " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("cb_")
							&& val.length() > 0) {
						cndtn += fieldname + " > " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("sb_")
							&& val.length() > 0) {
						cndtn += fieldname + " > '" + val + "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("fb_")
							&& val.length() > 0) {
						cndtn += fieldname + " > " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("tb_")
							&& val.length() > 0) {
						cndtn += fieldname + " > '" + val + "' or ";
						continue;
					}
					// 小于
					if (prmn.toLowerCase().startsWith("is_")
							&& val.length() > 0) {
						cndtn += fieldname + " < " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("ls_")
							&& val.length() > 0) {
						cndtn += fieldname + " < " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("ds_")
							&& val.length() > 0) {
						cndtn += fieldname + " < " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("cs_")
							&& val.length() > 0) {
						cndtn += fieldname + " < " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("ss_")
							&& val.length() > 0) {
						cndtn += fieldname + " < '" + val + "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("fs_")
							&& val.length() > 0) {
						cndtn += fieldname + " < " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("ts_")
							&& val.length() > 0) {
						cndtn += fieldname + " < '" + val + "' or "; // for
						// oracle
						continue;
					}
					// 大于等于
					if (prmn.toLowerCase().startsWith("ibe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("lbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("dbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("cbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("sbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= '" + val + "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("mbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= '" + val.substring(0, 10)
								+ " " + val.substring(10, val.length())
								+ "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("fbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("tbe_")
							&& val.length() > 0) {
						cndtn += fieldname + " >= '" + val + "' or ";
						continue;
					}
					// 小于等于
					if (prmn.toLowerCase().startsWith("ise_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("lse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("dse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("cse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("sse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= '" + val + "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("mse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= '" + val.substring(0, 10)
								+ " " + val.substring(10, val.length())
								+ "' or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("fse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= " + val + " or ";
						continue;
					}
					if (prmn.toLowerCase().startsWith("tse_")
							&& val.length() > 0) {
						cndtn += fieldname + " <= '" + val + "' or ";
						continue;
					}
					// 模糊
					if (prmn.toLowerCase().startsWith("sm_")
							&& val.length() > 0) {
						cndtn += fieldname + " like '%" + val + "%' or ";
						continue;
					}
				}
				cndtn = cndtn.endsWith("or ") ? cndtn.substring(0, cndtn
						.length() - 3)
						+ " ) and " : cndtn;
				cndtn = cndtn.trim().endsWith("(") ? "" : cndtn;
			}
		}

		cndtn = cndtn.endsWith("and ") ? cndtn.substring(0, cndtn.length() - 4)
				: cndtn;
		System.out.println(cndtn);
		return cndtn;
	}

	/**
	 * Get the parameters table.
	 * 
	 * @param params
	 *            The parameters.
	 * @return The parameters table.
	 */
	private ParamsTable getParameterTable(Object params) {
		ParamsTable paramsTable = null;

		if (params instanceof ParamsTable)
			return (ParamsTable) params;

		Class paramsClazz = params.getClass();
		Field[] paramsFields = paramsClazz.getDeclaredFields();
		paramsTable = new ParamsTable();

		for (int i = 0; i < paramsFields.length; i++) {
			try {
				String paramsName = paramsFields[i].getName();
				String paramsValue = (String) PropertyUtils.getProperty(params,
						paramsName);
				paramsTable.setParameter(paramsName, paramsValue);
			} catch (Exception ex) {
				continue;
			}
		}

		return paramsTable;
	}

	/**
	 * @param classname String
	 * @param params Object
	 * @return the Order By statement
	 * @see cn.myapps.base.dao.SQLUtils#createOrderBy(java.lang.String,
	 *      java.lang.Object)
	 */
	public String createOrderBy(String classname, Object params) {
		// If the paramter is null, return the "";
		if (params == null)
			return "";

		// If the paramter is null, return the "";
		Class cls = null;
		try {
			cls = Class.forName(classname);
		} catch (Exception ex) {
			return "";
		}

		String orderby = getOrderField(params);
		String desc = getOrderDirection(params);
		String[] orderlist = StringUtil.split(orderby, ';');
		String rtn = "";

		// loop the orderlist & create the statement.;
		if (orderlist != null) {
			for (int i = 0; i < orderlist.length; i++) {
				// Ingore if the field name is not validity.
				try {
					cls.getDeclaredField(orderlist[i]);
				} catch (NoSuchFieldException ex) {
					continue;
				} catch (SecurityException ex) {
					ex.printStackTrace();
				}

				rtn = rtn.length() == 0 ? orderlist[i] + " " + desc : rtn
						+ ", " + orderlist[i] + " " + desc;
			}
		}

		if (orderby != null && orderby.equals("")) {
			orderby = " sortId";
		}
		return orderby;
	}

	/**
	 * @param params
	 * @return the Order By Direction statement
	 */
	private String getOrderDirection(Object params) {
		String desc = null;
		try {
			if (params instanceof ParamsTable) {
				desc = ((ParamsTable) params).getParameterAsString("_desc");
			} else {
				desc = (String) PropertyUtils.getProperty(params, "_desc");
			}

			desc = (desc == null || desc.trim().length() == 0 ? "" : "desc");
		} catch (Exception ex) {
			desc = "";
		}
		return desc;
	}

	/**
	 * @param params
	 * @return the Order By Field statement
	 */
	private String getOrderField(Object params) {
		String orderby = null;
		try {
			if (params instanceof ParamsTable) {
				orderby = (String) ((ParamsTable) params)
						.getParameterAsText("_orderby");
			} else {
				orderby = (String) ((ParamsTable) params)
						.getParameterAsText("_orderby");
			}
			if (orderby == null)
				orderby = "";
		} catch (Exception ex) {
			ex.printStackTrace();
			orderby = "";
		}
		return orderby;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.myapps.base.dao.SQLUtils#appendCondition(java.lang.String,
	 *      java.lang.String)
	 */
	public String appendCondition(String sql, String condition) {
		String newSQL = sql.toLowerCase();

		int index;
		if ((index = newSQL.indexOf(" where ")) >= 0) {
			// Append after the "where" direct if it has "where" statement
			// already.
			newSQL = sql.substring(0, index + 7) + " (" + condition + ") and "
					+ sql.substring(index + 7);
		} else if ((index = newSQL.indexOf(" order by ")) >= 0) {
			// Append before the "order" if it has no "where" but "order"
			// statement.
			newSQL = sql.substring(0, index) + " where (" + condition + ") "
					+ sql.substring(index);
		} else {
			// Append in the end if it has no "where" or "order".
			newSQL = sql + " where (" + condition + ") ";
		}
		return newSQL;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区无线| 欧美变态tickle挠乳网站| 欧美区在线观看| 国产欧美日韩另类一区| 亚洲第一在线综合网站| 成人黄色小视频在线观看| 欧美一区二区三区色| 中文字幕一区二区三区在线不卡 | 欧美性三三影院| 久久精品人人做| 免费观看91视频大全| 欧美怡红院视频| 亚洲欧美aⅴ...| 成人av网站在线观看| 亚洲精品一区二区三区在线观看| 亚洲在线一区二区三区| 国产不卡免费视频| 久久久久久电影| 久久精品国产**网站演员| 欧美日本国产视频| 亚洲一级不卡视频| 在线日韩av片| 亚洲丝袜精品丝袜在线| 成人av第一页| 国产日韩欧美精品电影三级在线| 美女看a上一区| 欧美二区在线观看| 三级精品在线观看| 91精品欧美久久久久久动漫 | 国产伦精品一区二区三区免费| 欧美精品xxxxbbbb| 日韩中文字幕区一区有砖一区 | 亚洲在线视频免费观看| 色综合久久久久综合体| 中文字幕中文字幕中文字幕亚洲无线| 国产乱子轮精品视频| 国产日韩成人精品| 成人免费精品视频| 亚洲天天做日日做天天谢日日欢 | 紧缚捆绑精品一区二区| 精品美女一区二区三区| 国产在线播放一区三区四| 久久亚洲春色中文字幕久久久| 久久99在线观看| 国产日韩v精品一区二区| 国产精品影视网| 久久精品免视看| 99在线精品免费| 亚洲一级不卡视频| 日韩欧美国产小视频| 国产一区欧美日韩| 亚洲欧洲日韩在线| 欧美人与禽zozo性伦| 美女诱惑一区二区| 国产欧美视频一区二区三区| av电影天堂一区二区在线| 亚洲精品国产无套在线观| 欧美夫妻性生活| 国产黄色精品视频| 亚洲国产综合色| 欧美精品一区二区三区四区| eeuss影院一区二区三区| 亚洲一区二区视频| 精品91自产拍在线观看一区| 欧洲精品在线观看| 久久国产精品99久久久久久老狼| 国产精品美女久久久久高潮| 欧美日韩在线观看一区二区| 国产又黄又大久久| 亚洲午夜精品17c| 国产亚洲成aⅴ人片在线观看| 91麻豆精东视频| 久久精品国产99| 亚洲免费观看高清完整版在线观看| 91精品在线一区二区| 成人免费高清在线观看| 日韩av高清在线观看| 中文字幕视频一区| 欧美一二三区在线| 91美女在线看| 久久99国产精品麻豆| 亚洲综合在线观看视频| 欧美xxxxxxxx| 欧美日韩国产综合一区二区| av电影在线观看完整版一区二区| 老汉av免费一区二区三区 | 99r国产精品| 日本中文字幕一区| 尤物av一区二区| 国产精品热久久久久夜色精品三区| 在线播放国产精品二区一二区四区 | 日本aⅴ精品一区二区三区| 国产精品久久久久久久久免费丝袜| 欧美日韩久久一区二区| 一本色道久久综合精品竹菊| 国产91精品露脸国语对白| 美女高潮久久久| 午夜精品福利一区二区三区av| 中文字幕视频一区二区三区久| 久久精品欧美日韩精品| 精品久久久久久无| 日韩一区二区三区av| 欧美午夜精品理论片a级按摩| 丁香激情综合国产| 国产精品99久久久| 国产精品123| 国产成人精品免费看| 久久不见久久见免费视频1| 天天综合网天天综合色| 五月天国产精品| 五月天一区二区| 亚洲高清一区二区三区| 午夜精品久久久久久久久久| 亚洲精品日韩综合观看成人91| 国产精品人成在线观看免费| 国产精品久久久久久久蜜臀 | 亚洲精品视频在线观看免费| 国产精品污污网站在线观看| 欧美国产精品一区二区| 国产精品网站在线观看| 国产精品福利电影一区二区三区四区| 国产精品久久久久一区| 亚洲码国产岛国毛片在线| 一区二区三区日韩在线观看| 亚洲一区二区三区小说| 首页国产欧美久久| 国内成人精品2018免费看| 国产成人免费9x9x人网站视频| 成人av网址在线| 欧美性三三影院| 日韩欧美一级片| 337p粉嫩大胆色噜噜噜噜亚洲| 精品国产污网站| 国产精品久久久一区麻豆最新章节| 中文字幕av一区二区三区高| 国产精品久久午夜夜伦鲁鲁| 亚洲国产精品一区二区www| 日本欧美肥老太交大片| 国产一区在线视频| 91香蕉国产在线观看软件| 91精品中文字幕一区二区三区| 久久午夜免费电影| 玉米视频成人免费看| 精品综合久久久久久8888| 国内精品久久久久影院薰衣草| 成人精品国产一区二区4080 | 91蜜桃免费观看视频| 欧美日韩高清一区| 久久精品在这里| 亚洲国产va精品久久久不卡综合| 另类综合日韩欧美亚洲| av中文字幕亚洲| 日韩欧美在线123| 一区二区三区在线视频观看| 国内国产精品久久| 欧美午夜宅男影院| 国产欧美日韩综合精品一区二区| 亚洲国产精品久久一线不卡| av亚洲精华国产精华精华| 91国偷自产一区二区三区观看| 日韩欧美成人一区| 夜夜爽夜夜爽精品视频| 国产精品一区在线观看你懂的| jlzzjlzz欧美大全| 日韩一二在线观看| 一区二区三区波多野结衣在线观看| 免费视频最近日韩| 欧美视频一区二区在线观看| 国产拍欧美日韩视频二区| 三级久久三级久久久| 91黄视频在线| 中文字幕在线视频一区| 韩国三级电影一区二区| 91精品国产一区二区人妖| 亚洲美女偷拍久久| 国产成人丝袜美腿| 日韩免费在线观看| 午夜av电影一区| 欧美性视频一区二区三区| 中文字幕一区二区在线播放| 国产精品一区二区不卡| 亚洲精品一区二区三区精华液| 五月综合激情网| 欧美在线观看视频一区二区三区| 国产精品三级av| 成人午夜激情视频| 国产亚洲人成网站| 国产精品18久久久久| 精品国产一区二区三区久久久蜜月| 亚洲成人免费在线观看| 欧美色网站导航| 一区二区三区欧美日| 91年精品国产| 亚洲毛片av在线| 在线观看一区二区精品视频| 亚洲乱码中文字幕综合| 一本大道av一区二区在线播放| 亚洲欧美日韩国产中文在线| 96av麻豆蜜桃一区二区| 综合亚洲深深色噜噜狠狠网站|