開發時經常用到數據庫,如果把我們寫過的連接數據庫的功能代碼分離出來,則能方便我們到處引用,不用寫重複代碼。
Microsoftsqlserver連接JAVA有個要注意的地方,就是MSSQL2000的連接驅動和2000以上的(2005、2008)是不同的,需要導入的Jar包也不同。
以下是代碼。
package usage; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * * @Date: 2013-11-14 下午04:50:40 * @Author: gyh * @TODO: java連接數據庫的功能類(sql server , mysql) */ public class DBConnection { // sql server 2000驅動地址 public static final String SQL_SERVER_2000_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // sql server 2005驅動地址 public static final String SQL_SERVER_2005_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // sql server 2008驅動地址 public static final String SQL_SERVER_2008_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // mysql驅動地址 public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver"; /** * 數據庫地址:localhost可以換爲你數據庫的實際IP地址(一般爲本地,學習用,也可以換爲127.0.0.1), * test爲你數據庫的名字,按實際情況而定,1433爲數據庫端口,可以在sql server configure center中查看。 */ public static final String SQL_SERVER_URL = "jdbc:sqlserver://localhost:1433;databasename="; public static final String MYSQL_URL = "jdbc:mysql://localhost:3306/"; private Connection conn; /** * 加載驅動 * * @param DriverName * 驅動名 */ public DBConnection(String DriverName) throws ClassNotFoundException { Class.forName(DriverName); } /** * 連接到sql server服務器 默認sa登錄,無登錄密碼 * * @param databaseName * 數據庫名稱 * @return * @throws SQLException */ public Connection connectToMSSQL(String databaseName) throws SQLException { conn = DriverManager.getConnection(SQL_SERVER_URL + databaseName, "sa", ""); return conn; } /** * 連接到sql server服務器 * * @param dbName * 數據庫名稱 * @param username * 數據庫登錄名 * @param password * 數據庫登錄密碼 * @return * @throws SQLException */ public Connection connectToMSSQL(String dbName, String username, String password) throws SQLException { conn = DriverManager.getConnection(SQL_SERVER_URL + dbName, username, password); return conn; } /** * 連接到mysql服務器,默認端口3306 * * @param username * 用戶名 * @param password * 登錄密碼 * @return * @throws SQLException */ public Connection connectToMysql(String dbName, String username, String password) throws SQLException { conn = DriverManager.getConnection(MYSQL_URL + dbName, username, password); return conn; } public void close() throws SQLException { if (conn != null) conn.close(); } public static void main(String arsg[]) { try { new DBConnection(DBConnection.SQL_SERVER_2000_DRIVER) .connectToMSSQL("test"); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
使用的時候調用getConnection類即可。