`
- 浏览:
411243 次
- 性别:
- 来自:
北京
-
JAVA编码规范中关于sql语句规范要求
1、关键字单独占一行。(SELECT 、UPDATE、DELETE FROM、INSERT INTO、VALUES、SET、FROM、WHERE、GROUP BY 、ORDER BY 、JOIN
)
2、每行显式加回车换行符'\r\n'
3、每个查询字段、条件字段、分组字段、排序字段单独占一行
4、多表连接查询字段、表名都要加别名,且一条语句只要一种连接方式。
5、续行的开始位置为第7个字符,具体缩进格式参见范本sample_sql.txt
6、变量用绑定变量或占位符!
7、为使代码清晰,“+ '\r\n'”右对齐。

---------------------------------------------------------------------------------------------------

注意缩进格式说明:
select 的第一个字段前面空一个“select”的长度,即空6个空格,下面的所有字段、表名的开始位置上下保持对齐。
也就是说,
select的字段、
from 的表名、
where 的条件字段、
group by 的分组字段、
order by 的排序字段
的开始位置都是从第7个字符开始的。delete from 、insert into 、update语句的字段的开始位置,与此相同。
","前空4个空格,"and"前空2个空格。
left join
on 在同一行,每个连接字段单独占一行。



-----------------------------------------------------------------------------------------------------
建议:
1、续行的“"”与上面的对齐,例如:
String sql = " insert into " + "\r\n"
+ " ACC_BUDYEARINIT " + "\r\n"

2、在insert 语句的values子句、其他sql的where子句中,建议用绑定变量,即用"?" 或 :var_name
不要用 + var_name 写成常数。

3、与NULL判断时,用IS NULL、IS NOT NULL

4、同一条语句中只用一种连接语法,用join或者用from a,b,c where a.xx=b.xx and a.xx=c.xx
,不要混合使用。

--------------------------------------------------------------------------------------------------------

sql代码规范样式:
例一:

String sql = "select" + "\r\n"
+ " a" + "\r\n"
+ " , b" + "\r\n"
+ " , c" + "\r\n"
+ "from" + "\r\n"
+ " tab1" + "\r\n"
+ "where" + "\r\n"
+ " a=?" + "\r\n"
+ " and b=?" + "\r\n"
+ "order by" + "\r\n"
+ " c" + "\r\n"
+ " , d" + "\r\n"




例二:
String sql = "select" + "\r\n"
+ " t1.field1 a" + "\r\n"
+ " , t1.field2 b" + "\r\n"
+ " , t2.field3 c" + "\r\n"
+ "from" + "\r\n"
+ " tab1 t1" + "\r\n"
+ " , tab2 t2" + "\r\n"
+ "where" + "\r\n"
+ " t1.field1=t2.field2" + "\r\n"
+ " and t1.field1=?" + "\r\n"
+ " and t1.field2=?" + "\r\n"
+ "order by" + "\r\n"
+ " t1.field2" + "\r\n"
+ " , t2.field3" + "\r\n"

String sql = "select" + "\r\n"
+ " t1.field1 a" + "\r\n"
+ " , t1.field2 b" + "\r\n"
+ " , t2.field3 c" + "\r\n"
+ "from" + "\r\n"
+ " tab1 t1" + "\r\n"
+ " join tab2 t2 on" + "\r\n"
+ " t1.field1=t2.field2" + "\r\n"
+ "where" + "\r\n"
+ " t1.field1=?" + "\r\n"
+ " and t1.field2=?" + "\r\n"
+ "order by" + "\r\n"
+ " t1.field2" + "\r\n"
+ " , t2.field3" + "\r\n"




嵌套表样式:
注意层次。

String sql = "select" + "\r\n"
+ " a.BUDITEM_ID as BUDITEM_ID" + "\r\n"
+ " , a.BUDITEM_CODE as BUDITEM_CODE" + "\r\n"
+ " , d.ACCTITLE_DIRECT as ACCTITLE_DIRECT" + "\r\n"
+ " , d.LEAFNODEFLAG as LEAFNODEFLAG" + "\r\n"
+ "from" + "\r\n"
+ " BUD_BUDITEM as a" + "\r\n"
+ "left join " + "\r\n"
+ " ( select + "\r\n"
+ " c.ACCSET_ID" + "\r\n"
+ " , c.DATASETVER_ID" + "\r\n"
+ " , b.BUDITEM_ID" + "\r\n"
+ " , b.INITDEBBALAMT" + "\r\n"
+ " , b.INITCRDBALAMT" + "\r\n"
+ " , c.ACCTITLE_CODE" + "\r\n"
+ " from" + "\r\n"
+ " ACC_BUDYEARINIT as b" + "\r\n"
+ " , ACC_ACCTITLE as c" + "\r\n"
+ " where" + "\r\n"
+ " c.ACCSET_ID = b.ACCSET_ID" + "\r\n"
+ " and c.DATASETVER_ID = b.DATASETVER_ID" + "\r\n"
+ " and c.ACCTITLE_ID = b.ACCTITLE_ID" + "\r\n"
+ " and b.ACCSET_ID = ?" + "\r\n"
+ " and b.DATASETVER_ID = ?" + "\r\n"
+ " ) " + "\r\n"
+ " as d on " + "\r\n"
+ " ( " + "\r\n"
+ " a.ACCSET_ID = d. ACCSET_ID" + "\r\n"
+ " and a.DATASETVER_ID = d.DATASETVER_ID" + "\r\n"
+ " and a.BUDITEM_ID = d.BUDITEM_ID" + "\r\n"
+ " ) " + "\r\n"
+ "where" + "\r\n"
+ " a.ACCSET_ID = ?" + "\r\n"
+ " and a.DATASETVER_ID = ?" + "\r\n"
+ "order by" + "\r\n"
+ " a.BUDITEM_ID" + "\r\n"


例三:
String sql = "insert into" + "\r\n"
+ " tab1(" + "\r\n"
+ " a" + "\r\n"
+ " , b" + "\r\n"
+ " , c" + "\r\n"
+ " , d" + "\r\n"
+ ")" + "\r\n"
+ "values(" + "\r\n"
+ " ?" &nb
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Java编程中,与MySQL数据库交互通常涉及到使用SQL语句来执行CRUD(创建、读取、更新、删除)操作。然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,...
JAVA安全编码规范参考文档深入分析了在Java开发中如何编写安全的代码,降低系统被攻击的风险。文档内容涵盖了安全编码的基本原则以及常见漏洞的安全编码方法。 一、安全编码基本原则 1. 所有输入数据都是有害的 在...
### Java编码规范文档知识点 #### 1. 概述 - **内容**:本文档主要涵盖了Java编程语言的编码规范,包括命名规则、注释规范、排版规范以及数据库相关的命名与格式化等内容。 - **编写目的**:制定一套统一的编码规范...
### 阿里Java编码规范知识点详解 #### 一、编程规约 ##### (一) 命名规约 1. **禁止特殊字符作为命名起始或结尾**: - **规约**:所有代码中的命名均不得以下划线`_`、美元符号`$`开始或结束。 - **反例**:`_...
本篇文章将深入探讨Java编码规范以及如何有效地使用Java API。 一、Java编码规范 1. 命名规则: - 类名:采用驼峰式命名,每个单词首字母大写,如`MyClassName`。 - 变量名和方法名:也采用驼峰式命名,但第一个...
Java后台编码规范是软件开发中一项重要的指导原则,它旨在提高代码质量、可读性、可维护性和团队协作效率。本规范主要适用于Java后端开发者,涵盖了命名规则、注释、异常处理、类与对象设计、接口设计、数据访问、...
《阿里巴巴Java编码规范》是Java开发者们遵循的一套专业指南,旨在提高代码质量,提升团队协作效率,并确保软件系统的稳定性和可维护性。这套规范涵盖了多个方面,包括但不限于编码规范、异常处理、日志记录、单元...
【Java软件开发编码规范】 编码规范对于任何编程语言来说都是至关重要的,尤其是Java,它是一种广泛应用的编程语言,良好的编码规范能确保代码的可读性、可维护性和团队协作效率。交通事业部的Java软件开发编码规范...
8. **安全性**:编码规范强调了安全编码的重要性,包括输入验证、避免SQL注入、防止缓冲区溢出等。对于Java,还要注意防范XSS攻击和CSRF攻击。 9. **版本控制**:华为编码规范还涵盖了版本控制的使用,如Git,要求...
以上内容仅为Java编码规范的一小部分,实际开发中还涉及到异常处理、日志记录、单元测试等多个方面。遵循编码规范可以提高代码质量,降低维护成本,提升团队协作效率。在实践中不断学习和完善,才能成为一名优秀的...
《软件开发编码规范(JAVA、SQL)归纳》 在软件开发过程中,编码规范扮演着至关重要的角色,它有助于提高代码的可读性、可维护性和团队协作效率。本规范主要针对JAVA和SQL两种语言,旨在为开发者提供一套统一的、有效...
Java 编码规范是开发高质量软件的基础,它涵盖了命名...以上内容仅为《研发中心-java编码规范》文档的概述,具体细节和实践建议应参考完整文档以获取更详尽的信息。遵循这些规约,可以显著提高代码质量和团队协作效率。
《Java编码规范》是指导Java开发者编写高效、可靠和易维护代码的重要文档。这份规范旨在提升软件工程的安全性,同时增强代码的可读性和团队协作效率。以下是对规范中的主要知识点的详细阐述: 1. **代码组织与风格*...
1. **代码对齐**:将SQL语句中的关键字、列名、表名和操作符对齐,使整体结构更清晰。 2. **缩进和换行**:自动插入适当的空格和换行,使嵌套的查询和子查询更容易辨识。 3. **注释处理**:保持或重新格式化注释,使...
在MySQL数据库部分,手册提供了建表、索引、SQL语句和ORM映射的规范。比如,在建表规约中,详细列出了字段命名、数据类型选择和默认值设置的建议,以优化数据库性能和可维护性。索引规约中,则指出了合理的索引设计...
总之,"Java2实用教程,java编码规范及书中配套程序代码"这个资源为Java初学者和进阶者提供了一个全面的学习平台,不仅可以学习到扎实的编程基础,还能了解到实践中的最佳编码习惯。通过深入研究和实践这些代码,你...
Java编码规范是软件开发中的重要组成部分,它有助于提高代码的可读性、可维护性和团队协作效率。本简易版的编码规范主要涵盖了工程结构、命名规范、注释模板、代码规范和SQL规范等方面,旨在为程序员提供一个实用且...
### Java常用语句大全及Java编码规范模拟测验解析 #### 集合类的使用规范 1. **集合类的命名原则** - 正确做法:含有集合意义的属性命名,尽量包含其复数的意义。例如,存储员工信息的列表可以命名为`employees`...
阿里巴巴 Java 编码规范知识点总结 阿里巴巴编码规范是 Java 开发手册的重要组成部分,涵盖了 Java 编码的各个方面,包括单元测试、并发处理、代码优化、数据库操作、接口设计等。以下是阿里巴巴 Java 编码规范的...
阿里巴巴编码规范(Java)满分答卷是对Java开发手册的总结,涵盖了Java开发中的多个方面,包括单元测试、并发处理、分页查询、水平权限控制、数据库中NULL的处理、接口使用抛异常还是返回错误码、类的序列化、Java的...