java写sql的时候注意的几点

  1. 要符合java编程规范java

  2. 要符合sql语句的格式sql

public String getRuleCDCFilter(String cdcTable, String columnName) {
		StringBuilder b = new StringBuilder();
		try {
			if (CommonConstant.ZPP_SHOP_ID == getMyShopId()) {// 这里能够加中配运营平台的帐号权限
				b.append(" ");
			} else {// 若是不是运营商平台的用户,则过滤店铺id
				b.append(" INNER JOIN (")
				.append(" select DISTINCT cdc_id from bd_employee_rdc r_empc,bd_employee r_emp where r_emp.EMP_ID=r_empc.EMP_ID and r_emp.USER_NAME='")
				.append(ContextHolder.getLoginUserName())
				.append("' ) as _r on _r.cdc_id =").append(cdcTable).append(". ").append(columnName);
				
			}
		} catch (Exception e) {// 若是异常,则表示用户登陆失效,则查不出数据.
			b.append(" and 1=2 ");
		}
		return b.toString();
	}

	/**
	 * 获取店铺权限过滤字符串 过滤CDC、实物子库
	 * 
	 * @param tableName
	 *            须要过滤的表名
	 * @return
	 * @throws Exception
	 */
	public String getRuleCDCAndAutalFilter(String cdcTable) {
		StringBuilder b = new StringBuilder();
		try {
			if (CommonConstant.ZPP_SHOP_ID == getMyShopId()) {// 这里能够加中配运营平台的帐号权限
				b.append(" ");
			} else {// 若是不是运营商平台的用户,则过滤店铺id
				b.append(" INNER JOIN ("
						+ " SELECT DISTINCT ber.CDC_ID, ber.ACTUAL_INVENTORY_NAME "
						+ "  FROM bd_employee_rdc ber "
						+ " INNER JOIN bd_employee be ON ber.EMP_ID = be.EMP_ID"
						+ " WHERE be.USER_NAME = '" + ContextHolder.getLoginUserName() + "'"
						+ " AND ber.SUBINVENTORY_CODE IS NOT NULL"
						+ " ) as _r on (_r.CDC_ID=" + cdcTable + ".CDC_ID AND _r.ACTUAL_INVENTORY_NAME=" + cdcTable+".ACTUAL_INVENTORY_NAME) ");
			}
		} catch (Exception e) {// 若是异常,则表示用户登陆失效,则查不出数据.
			b.append(" ");
		}
		return b.toString();
	}

你能够看到个人同事是否是不在乎这些细节,偶尔我也很纠结着这些个小问题,唉~!编程

相关文章
相关标签/搜索