java写sql的时候注意的几点

  1. 要符合java编程规范

  2. 要符合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();
	}

你可以看到我的同事是不是不在意这些细节,偶尔我也很纠结着这些个小问题,唉~!

转载于:https://my.oschina.net/u/817904/blog/638538

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值