java程序员可能犯的3个常见sql错误-编程小技巧

java程序员可能犯的3个常见sql错误-编程小技巧

ID:30768663

大小:78.50 KB

页数:4页

时间:2019-01-03

java程序员可能犯的3个常见sql错误-编程小技巧_第1页
java程序员可能犯的3个常见sql错误-编程小技巧_第2页
java程序员可能犯的3个常见sql错误-编程小技巧_第3页
java程序员可能犯的3个常见sql错误-编程小技巧_第4页
资源描述:

《java程序员可能犯的3个常见sql错误-编程小技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java程序员可能犯的3个常见SQL错误你可能看到Java程序员每周的工作是编码开发一个可伸缩的Web应用程序,或创建一个动态的网站,或者开发高效的电子商务产品页面,也可能是开发一个Android应用程序等等。但是,即使他们致力于不同的项目,却往往都有一个共同点,那就是编程!他们的职业要求长时间的工作来积累更多的编程知识。Java程序员还需要了解项目的需求、设计和开发一个属于自己的原型项目。为了使自己始终跟随行业变换的脚步,他们述必须具备其他语言的基础知识,比如HTML、SQL等等。Java程序员的职业生涯并不是一帆风顺的,他们必须尝试每一次的挑战,即使是最

2、好的程序员,有时在编程的过程屮也难免会犯一些不可避免的错课。举个例子,在编写SQL语句时,有些错误却是绝对可以避免的。在这里,小编就为各位程序员列举一些常见的SQL错误。SELECTTOP3commonmistakesFROMSQLProgrammingMistakes;上述杳询的结果如21.不使用批量更新在编写SQL语句吋,Java程序员最常见和最大的一个错误就是忘记批处理。在表中编写成T上万的INSERT语句这确实不是一个好主意,程序员应该使用单个的SQL语言來创建一个绑定不同的参数的批处理INSERT语句。执行批处理的速度将比单个执行快得多。我们来看看

3、以下一个例子:String[]queries二{,zINSERTINTOEmployee{Eno,Enamc,Ecode,EDcpt}values('1','Allen','abc','Sales')","INSERTINTOEmployee{Eno,Ename,Ecode,EDept}values('2','Max','102',Marketing,)”,"INSERTINTOEmployee{Eno,Eneime,Ecode,EDept}values('3','Ward',xyz,Sales;,/zINSERTINTOEmployee{Eno,Ename

4、,Ecode,EDept}values('4','Sam,,'55','Marketing,)”,};Connectionconnection=newgetConnection();Statementstatement二connection.createStatement();for(Stringquery:queries){statement.execute(query);}statement,close();connection,close();这是一个糟糕的代码,在数据库中每一行INSERT语句都需要单独來执行。发送一批INSERT语句到数据库中一气呵

5、成:importjava.sql.Connection;importjava.sql.Statement;//•••Connectionconnection=newgetConnection();Statementstatement二connection•createStatement();For(Employeeemployee:employees){Stringquery=INSERTINTOEmployee(Eno,Ename,Ecodc,Edcpt)values('"+Employee.getEno()+〃',+Employee.getEname()

6、+Employee・getEcode()+,+Employee.getEdept()+statement.addBatch(query);}statement.cxccutcBatch();statement・close();cormection.close();插入大型数据集时,批处理是非常重要的。为了显著提升性能,程序员应该尽量在批处理模式下运行一条语句。执行批量插入的另外一种方法是使用PreparedStatement对象。然而批处理不仅仅只是局限于INSERT语句,你还可以利用它來执行更新、删除和声明等操作。2.DBMS引擎未优化查询并不是所有的Ja

7、va程序员都了解SQL。在SQL查询中可以用很多种方式來得到相同的结果,但是程序员应该始终遵循最快的响应最佳的方式。例如一个Java程序员被要求从Employee表屮检索所有名字以'A'打头的员工,通常他们喜欢使用LEFT函数返冋雇员名字的第一个字符:SELECTEnameFROMEmployeeWHERELEFT(Ename,1)二'A';但是这是不止确的。在上面的查询中,数据库系统将扫描整个表來找到所需的信息。不使用索引,因此会花费大量的时间在执行查询上。相反,程序员应该使用查询检索结果:SELECTEnameFROMEmployeeWHEREEname

8、LIKE'A%';上述查询将利用指数快速冇效地检索数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。