以文本方式查看主题

-  堕落街论坛  (http://duoluojie.1314179.com.cn:443/index.asp)
--  游戏体育  (http://duoluojie.1314179.com.cn:443/list.asp?boardid=331)
----  [原创]反编译了一段java数据连接的bean,贴出来希望对大家有帮助,回得人多就有注释  (http://duoluojie.1314179.com.cn:443/dispbbs.asp?boardid=331&id=71502)

--  作者:我最简单
--  发布时间:2005/4/15 8:40:00
--  [原创]反编译了一段java数据连接的bean,贴出来希望对大家有帮助,回得人多就有注释

一段bean

数据库连接的,写简单的jsp可以用来参考,用得是jdbc的连接方式


package com.guestbook;

import java.sql.*;

public class DBConnection
{

private String driver;
private StringBuffer accessURL;
private String accessFilePath;
private String accessFileName;
private StringBuffer SQLServerURL;
private Connection conn;

public DBConnection()
{
driver = "sun.jdbc.odbc.JdbcOdbcDriver";
accessURL = new StringBuffer("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=");
accessFilePath = "";
accessFileName = "";
SQLServerURL = new StringBuffer("jdbc:odbc:Driver={SQL Server};");
conn = null;
}

public Connection getConnectionToAccess(String s)
throws SQLException, ClassNotFoundException
{
accessURL.append(s);
Class.forName(driver);
conn = DriverManager.getConnection(accessURL.toString());
return conn;
}

public Connection getConnectionToSQLServer(String s, String s1, String s2, String s3, String s4)
throws SQLException, ClassNotFoundException
{
SQLServerURL.append("server=");
SQLServerURL.append(s);
SQLServerURL.append(":");
SQLServerURL.append(s1);
SQLServerURL.append(";");
SQLServerURL.append("uid=");
SQLServerURL.append(s2);
SQLServerURL.append(";");
SQLServerURL.append("pwd=");
SQLServerURL.append(s3);
SQLServerURL.append(";");
SQLServerURL.append("database=");
SQLServerURL.append(s4);
Class.forName(driver);
conn = DriverManager.getConnection(SQLServerURL.toString());
return conn;
}

public void close()
{
try
{
conn.close();
}
catch(SQLException sqlexception)
{
sqlexception.printStackTrace();
}
}
}

是别人写的,感觉比较乱,主要是类的参数感觉没有一定的命名规范,有人学java的可以来一起讨论下


--  作者:KateGreen
--  发布时间:2005/4/15 18:01:00
--  

不算很乱啊,很好

作者喜欢用StringBuffer,我一般直接用String拼了


--  作者:我最简单
--  发布时间:2005/4/15 20:31:00
--  

public Connection getConnectionToSQLServer(String s, String s1, String s2, String s3, String s4)
throws SQLException, ClassNotFoundException

这段参数我觉得传入太杂了,乍一看还不知道是什么东西

作者喜欢用StringBuffer,我一般直接用String拼了

使用StringBuffer读取数据相对于String 要快些


--  作者:木材
--  发布时间:2005/4/15 20:35:00
--  

两个方法,一个连接access,一个连接SQLServer。

最好还是要用StringBuffer,如果用String的话,在调用方法连接的时候会产生很多无用的String对象,虽然有GC,多少还是会影响到性能。

关于StringBuffer和String的区别……

有很多资料的……


--  作者:木材
--  发布时间:2005/4/15 20:44:00
--  

public Connection getConnectionToSQLServer(String s, String s1, String s2, String s3, String s4)
throws SQLException, ClassNotFoundException

参数确实简单了些,改成代表实际意义的参数会比较好,s到s4

改成:serve,port, uid, pwd, database 回好些。


--  作者:KateGreen
--  发布时间:2005/4/18 12:44:00
--  

参数只是命名规范的问题,并不杂

用String的话也不会产生很多对象

String SQLServerURL = "";

SQLServerURL += "server=";

SQLServerURL += s;
SQLServerURL += ":";
SQLServerURL += s1;
SQLServerURL += ";";
SQLServerURL += "uid=";
SQLServerURL += s2;
SQLServerURL += ";";
SQLServerURL += "pwd=";
SQLServerURL += s3;
SQLServerURL += ";";
SQLServerURL += "database=";
SQLServerURL += s4;

[此贴子已经被作者于2005-4-18 12:46:21编辑过]

--  作者:KateGreen
--  发布时间:2005/4/18 12:48:00
--  

如果说StringBuffer会快些,不知道会快多少?为什么会快?


--  作者:我最简单
--  发布时间:2005/4/18 13:32:00
--  

http://www.javaresearch.org/article/showarticle.jsp?column=544&thread=10705

别人做的一个完整的测试


--  作者:KateGreen
--  发布时间:2005/4/19 8:45:00
--  

恩~~~有意思,呵呵,谢谢楼上的