通过JDBC连接SQL Server数据库

时间:2021-08-01 20:00:21

要点

使用JDBC连接数据库主要分为3个步骤:定义数据库连接字符串,加载数据库驱动和创建数据库连接。

(1)定义数据库连接字符串,其关键代码如下:

String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_database04"; //指定URL地址

String user="sa"; //指定用户名

String password=""; //指定密码

private Connection con = null; //定义操作接口变量

private Statement stmt = null; //定义操作接口变量

private ResultSet rs = null; //定义操作接口变量

(2)加载数据库连接的驱动。在Java中使用Class.forName来加载数据库驱动。通过Class.forName()方法注册SQL Server数据库驱动类的关键代码如下:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //注册SQL Server数据库驱动

注意:在加载数据库驱动时,必须将SQL Server数据库驱动包(mssqlserver.jar、msutil.jar、msbase.jar)放置于项目根目录下的WEB-INF\lib文件夹下。

(3)创建数据库的连接。在Java中使用位于java.sql包中的DriverManager类管理JDBC驱动程序的基本服务;通过java.sql包中的Connection接口与特定的数据库进行连接。其语法如下:

Connection con = DriverManager.getConnection(url, name, pwd); //建立数据库连接


实现过程

(1)创建数据库操作类。包括数据库的连接方法、数据的查询方法和数据库的关闭方法。其关键代码如下:

package com.pkh.dao;

import java.sql.*;

public class UserDao {

String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_database04";

String username="sa";

String password="";

private Connection con = null;

private Statement stmt = null;

private ResultSet rs = null;

public UserDao() { //通过构造方法加载数据库驱动

try {

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

} catch (Exception ex) {

System.out.println("数据库加载失败");

}

}


public boolean Connection() { //创建数据库连接

try {

con = DriverManager.getConnection(url, username, password);

} catch (SQLException e) {

System.out.println(e.getMessage());

System.out.println("creatConnectionError!");

}

return true;

}


public ResultSet selectStatic(String sql) throws SQLException { //对数据库的查询操作

ResultSet rs=null;

if (con == null) {

Connection();

}

try {

stmt = con.createStatement();

rs = stmt.executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace();

}

return rs;

}


public void closeConnection() { //关闭数据库的操作

if (con != null && stmt != null && rs != null) {

try {

rs.close();

stmt.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

System.out.println("Failed to close connection!");

} finally {

con = null;

}

}

}

}