文档章节

java写sql的时候注意的几点

登琼
 登琼
发布于 2016/03/16 15:07
字数 309
阅读 54
收藏 1
  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();
	}

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

© 著作权归作者所有

登琼
粉丝 3
博文 46
码字总数 8100
作品 0
广州
程序员
私信 提问
加载中

评论(2)

登琼
登琼 博主

引用来自“那块砖”的评论

要在意细节!
嗯嗯,谢谢提醒,以前很注意这个,但是影响开发效率,还和同事吵着,所以就慢慢的开始不纠结别人了,自己规范就好。
commonum
commonum
要在意细节!
「游戏引擎Mojoc」(10)Android NDK通用JNI调用Java代码封装

Mojoc提供了一个通用的工具类,来调用Android Java代码,以实现特定平台的功能。这个工具类封装了JNI使用的繁琐细和上下文对象的获取,提供了简单直接的API专注于Java类和方法的访问,并且实...

scottcgi
2018/05/20
0
0
十个JDBC的最佳实践

JDBC是Java为多种关系型数据库提供的统一的访问接口,以下是我长期使用JDBC总结的十个最佳实践。 JDBC最佳实践1:使用PrearedStatement 任何一个使用过JDBC的Java程序员几乎都知道这个,Pre...

王振威
2012/09/08
6.3K
12
SpringBoot高级篇JdbcTemplate之数据更新与删除

前面介绍了JdbcTemplate的插入数据和查询数据,占用CURD中的两项,本文则将主要介绍数据更新和删除。从基本使用上来看,姿势和前面的没啥两样 I. 环境准备 环境依然借助前面一篇的配置,链接...

小灰灰Blog
04/23
0
0
calvinwilliams/sqlaction

sqlaction - 自动生成JDBC代码的数据库持久层工具 1. 概述 2. 一个DEMO 2.1. 建表DDL 2.2. 新建JAVA项目 2.3. 在包目录中执行工具 2.4. 到目前为止,一行JAVA代码都没写,现在开始写应用代码...

calvinwilliams
04/18
0
0
MySQL JDBC 的 BATCH 执行和 rewriteBatchedStatements 参数

本来以为这是一个已解决的问题,但是发现有同学不知道,所以写一下。 经常使用 MySQL 的同学可能知道,默认情况下 MySQL JDBC 驱动是不支持 BATCH 的: 在真正执行的时候,MySQL JDBC 驱动仍...

长源
2018/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nproc systemd on CentOS 7

Increasing nproc for processes launched by systemd on CentOS 7 Ask Question I have successfully increased the nofile and nproc value for the local users, but I couldn't find a p......

MtrS
今天
3
0
了解微信小程序下拉刷新功能

小程序提供了这个事件。 onPullDownRefresh() 监听用户下拉刷新事件。 如果要开启下拉刷新功能,要先到json配置: "enablePullDownRefresh":true 配置后下拉有反应了但是没有加载效果,在onP...

oixxan__
今天
2
0
springmvc java对象转json,上传下载(未完)拦截器Interceptor以及源码解析(未完待续)

package com.atguigu.my.controller;import java.util.Collection;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Contr......

architect刘源源
今天
30
0
[日更-2019.5.24、25、26] Android系统中的Binder通信机制分析(一)--servicemanager

声明 其实对于Android系统Binder通信的机制早就有分析的想法,记得去年6、7月份Mr.Deng离职期间约定一起对其进行研究的,但因为我个人问题没能实施这个计划,留下些许遗憾... 最近,刚好在做...

Captain_小馬佩德罗
昨天
24
0
聊聊dubbo的DataStore

序 本文主要研究一下dubbo的DataStore DataStore dubbo-2.7.2/dubbo-common/src/main/java/org/apache/dubbo/common/store/DataStore.java @SPI("simple")public interface DataStore { ......

go4it
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部