我有一段代码 不会用vs2008 和sql server 2008运行?怎么连接我代码里的数据库呢?

2024-12-03 09:47:28
推荐回答(1个)
回答1:

package com.softeem.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
* 提供数据库的连接以及关闭数据库资源
* @author Administrator
*
*/
public class DBManager {
//定义数据库连接的URL
private static final String URL="jdbc:sqlserver://localhost:1433;database=j1105";
//定义数据库的用户名
private static final String USERNAME = "sa";
//定义数据库密码
private static final String PASSWORD = "sa";
//定义一个连接的引用,使用单例模式
private static Connection conn = null;

//使用静态块来注册驱动
//类加载时自动执行代码块
static {
//反射com.microsoft.sqlserver.jdbc.SQLServerDriver.class
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

//获得连接
//在程序使用过程中始终只有1个对象存在
//使用单例模式来给Connection赋值
public static Connection getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 关闭的一些操作 , 优化
* @param conn
* @param stat
* @param rs
*/
public static void close(Connection conn,Statement stat,ResultSet rs){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
if(rs != null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
/**
* 重写上面的方法,在只有2个参数的情况下关闭
* @param conn
* @param stat
*/
public static void close(Connection conn,Statement stat){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}

public static void main(String[] args){
Connection conn = DBManager .getConnection();
System.out.println(conn);
}
}