下面是详细讲解“Java 连接 SQL Server 2008 数据库配置”的完整攻略。
环境准备
首先,你需要有一个 SQL Server 2008 数据库,并且已经打开了 TCP/IP 协议,开放了端口。可以在 SQL Server Configuration Manager 中查看和修改。
其次,需要下载 SQL Server JDBC 驱动程序。可以从官方网站或Maven中下载。
最后,需要有一个 Java 环境。可以在官方网站下载并安装。
配置步骤
-
将下载的 JDBC 驱动程序放到项目中,可以放在 src 目录下的 lib 文件夹中。
-
在代码中加载驱动程序。可以使用 Class.forName() 方法或者 Java 6 以后的 DriverManager 中的方法进行加载,示例如下:
```java
// 方法一
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 方法二
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
```
- 建立数据库连接。需要指定数据库的 URL、用户名和密码,示例如下:
java
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
String user = "sa";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
其中 url 格式为 jdbc:sqlserver://<服务器名>[:<端口号>][;DatabaseName=<数据库名>]
,可以根据实际情况修改。
- 执行 SQL 语句。可以使用 Statement 或者 PreparedStatement 来执行 SQL 语句,示例如下:
```java
// 使用 Statement
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
// 使用 PreparedStatement
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id=?");
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();
```
需要注意的是,PreparedStatement 可以防止 SQL 注入攻击,推荐使用。
- 关闭连接和释放资源。使用完数据库连接、Statement、ResultSet 和 PreparedStatement 后要记得关闭和释放相关资源,示例如下:
```java
// 关闭 ResultSet
if (rs != null) {
rs.close();
}
// 关闭 Statement
if (stmt != null) {
stmt.close();
}
// 关闭 PreparedStatement
if (pstmt != null) {
pstmt.close();
}
// 关闭 Connection
if (conn != null) {
conn.close();
}
```
以上就是连接 SQL Server 2008 数据库的完整攻略。下面附上两个示例:
示例一:查询 users 表中的所有数据
import java.sql.*;
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
String user = "sa";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
while (rs.next()) {
System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("email"));
}
rs.close();
stmt.close();
conn.close();
}
}
示例二:查询 id=1 的用户信息
import java.sql.*;
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
String user = "sa";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id=?");
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("email"));
}
rs.close();
pstmt.close();
conn.close();
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 连接sql server2008数据库配置 - Python技术站