网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.全面解析JDBC(3).
.用BioJava开发基于隐马尔科夫模型.
.在jar包中动态载入第三方jar cla.
.spring + hibernate 数据话持久层.
.在Java应用程序中动态分配CPU资源.
.osworkflow 小培训(1).
.Robocode 基本原理之方向剖析.
.Java无用论.
.Eclipse快速上手指南之使用CVS(.
.安装JRun.
.Webmail-0.7.7 系统源码浅析.
.JavaServer Faces (JSF) vs Stru.
.Log4j(1).
.java数据库的实现.
.运用反射实现ejb动态委派.
.基于Spring框架的WebSphere应用开.
.Java-XML数据绑定结合了两个世界.
.在Java中用类装载框架控制类加载.
.jdk1.4_01实现Applet的数字签名认.
.浅析Java语言中的内部类.

jdbc 不得不说的几句话

发表日期:2008-1-5


今天girlfriend到公司交作业(还是培训期),她们的pm让她们在数据读取的使用FOR循环(如例test1),问之,为啥,说pm说了,这样好,还拿了一本pm给的Effective Java,说看了就明白,废话不多说,看之,原来就这样一条,假如在循环体外不需要继续使用的变量建议使用FOR循环,并且在for的第一部分初始化,这样一来循环结束以后就会自动回收,但是大家仔细思考一下,这地方能利用这条原则??,RESULTSET
是跟着statement走的,当你关闭statement,resultset会被关闭,使你使用FOR循环没有任何好处,相反,WHILE要更快,使用for是弄巧成拙.例子如下,大家也看到while要比for快将近3倍,记录为1000条左右.写这个例子,希望大家不要犯类似的错.....
package jp.gibraltar.bnas.branch.accountclose.closecheck;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

import jp.gibraltar.util.DBUtil;
import junit.framework.TestCase;

/**
 * @author sfluo
 *
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class CloseCheckInputActionTest extends TestCase {

 public static void main(String[] args) {
  junit.textui.TestRunner.run(CloseCheckInputActionTest.class);
 }

 /*
  * @see TestCase#setUp()
  */
 protected void setUp() throws Exception {
  super.setUp();
 }

 /*
  * @see TestCase#tearDown()
  */
 protected void tearDown() throws Exception {
  super.tearDown();
 }

 public final void testExecuteCheckInput() {
  CloseCheckInputActionTest test = new CloseCheckInputActionTest();
  System.out.println(System.currentTimeMillis());
  test.test1();
  System.out.println(System.currentTimeMillis());
  test.test2();
  System.out.println(System.currentTimeMillis());
 }

 void test1() {

  Connection conn = DBUtil.getConnection();
  Vector vs = new Vector();

  try {
   Statement stmt = conn.createStatement();
   for (ResultSet rs = stmt
     .executeQuery("select * from Accesslog_bnas "); rs.next();) {

    vs.add(rs.getString(1));

   }
   stmt.close();
   conn.close();
  }

  catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

 void test2() {

  Connection conn = DBUtil.getConnection();
  Vector vs = new Vector();

  try {
   Statement stmt = conn.createStatement();
   ResultSet rs = stmt.executeQuery("select * from accesslog_bnas ");

上一篇:eclipse技巧 --熱鍵篇 人气:597
下一篇:native2ascii命令的一种用法! 人气:892
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐