SQL Server 2008 数据库配置
运用JDBC技术连接SQL Server数据库需要事先对数据库做好相应的配置。首先建立SQL Server登陆验证模式:
建立登陆名与密码之后,如果能够以SQL身份验证登陆并打开数据库,则数据库相关配置工作已经完成。
Eclipse加载JDBC驱动
将JDBC驱动程序导入Eclipse项目中,这里有两种导入方式:
- 对于普通project而言,只能通过导入包的绝对地址的方式导入包,如果项目要复制到其他终端又要重新导入。
- 对于web project而言,先把jar包放在项目的目录下,通过添加jar包,是使用相对地址的,这样把项目复制到其他终端也可以使用。
数据库连接方法
打开连接与数据库建立连接的标准方法是调用DriverManager.getConnection方法,该方法接受含有某个url的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个url所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与url中指定的数据库进行连接的驱动程序为止,DriverManager的getConnection方法使用这个url来建立实际的连接。
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=DBTest";
Connection conn = DriverManager.getConnection(url, username, password);
JDBC URL提供了一种表示数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。JDBC URL的标准语法由三部分组成,各部分之间用冒号分隔,例如jdbc:<子协议>:<子名称>
。JDBC URL的三个部分可分解如下:
1) jdbc——协议。JDBC URL中的协议总是jdbc
2) <子协议>——驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,例如:odbc
。如果要用网络命名服务(这样URL中的数据库名称不必是实际名称),则命名服务可以作为子协议。
3) <子名称>——一种标识数据库的方法。使用子名称的目的是为定位数据库提供足够的信息。
对于第二条语句,通过调用getConnection方法来建立与数据库的连接,并返回一个Connection对象。这个方法需要提供3个String类型的参数,其中第一个是JDBC URL,后面两个分别是连接次数据库的用户名和密码,若没有则设置为null值。
与SQL Server 2008建立连接
- 首先定义连接数据库所需的参数等:
// 连接数据库的url以及驱动程序
String url = "jdbc:sqlserver://localhost:1433; DatabaseName=DBtest";
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// 数据库登录所需用户名密码
String username = "sa";
String password = "123";
- 定义数据库操作类
// 定义数据库操作类
Connection conn = null;// 连接数据库
ResultSet rs = null;// 存放查询结果
Statement stmt = null;// 执行sql语句
- 与数据库建立连接
// 建立数据库的连接
@SuppressWarnings("finally")
public Connection connectDB()
{
try
{
// 装载SQL Server驱动程序
Class.forName(driver);
/*
* 尝试连接一个驱动程序,系统中已经注册的驱动程序, 将会被依次进行装载和连接,直到找到一个正确的驱动程序为止
*/
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
System.out.println("连接成功!");
} catch (Exception ex)
{
ex.printStackTrace();
System.out.println("连接失败!");
} finally
{
return conn;
}
}
- 建立连接关闭方法
public boolean Close()
{
boolean isClose = false;
if (rs != null)
{
try
{
rs.close();rs = null;
isClose = true;
} catch (SQLException e)
{
isClose = false;
e.printStackTrace();
System.out.println("关闭结果集连接失败");
}
}
if (stmt != null)
{
try
{
stmt.close();stmt = null;
isClose = true;
} catch (SQLException e)
{
isClose = false;
e.printStackTrace();
System.out.println("关闭stmt连接失败");
}
}
if (conn != null)
{
try
{
conn.close();conn = null;
isClose = true;
} catch (Exception e)
{
isClose = false;
e.printStackTrace();
System.out.println("关闭conn连接失败");
}
}
return isClose;
}
- 执行数据库连接程序
public static void main(String[] args)
{
try
{
DBconnection test = new DBconnection();
test.Close();
} catch (Exception ex)
{
ex.printStackTrace();
}
}
- 结果
程序执行完毕,成功调用getConnection方法连接到数据库。