Java连接SQL Server数据库工具类及示例
在Java开发中,经常需要与数据库进行交互,其中SQL Server是一种常用的关系型数据库。本文将介绍如何使用Java连接SQL Server数据库,并提供一个工具类的示例。
数据库连接方式
Java连接SQL Server数据库主要有两种方式:
- 使用JDBC(Java Database Connectivity)连接
- 使用第三方数据库连接池
JDBC连接SQL Server数据库
JDBC是Java连接各种关系型数据库的标准接口,使用JDBC连接SQL Server数据库的步骤如下:
-
导入JDBC驱动程序:首先需要下载并导入SQL Server的JDBC驱动程序,可以从官方网站下载,或使用Maven等构建工具引入依赖。
-
加载驱动程序:在代码中使用
Class.forName()
方法加载SQL Server的驱动程序,例如:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- 建立数据库连接:使用
DriverManager.getConnection()
方法建立与SQL Server数据库的连接,需要提供数据库的URL、用户名和密码等参数,例如:
String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
String user = "username";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
- 执行SQL语句:通过连接对象创建Statement或PreparedStatement对象,并使用其
executeQuery()
、executeUpdate()
等方法执行SQL语句,例如:
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");
while (rs.next()) {
// 处理结果集
}
- 关闭连接:在使用完数据库连接后,需要关闭连接以释放资源,例如:
rs.close();
stmt.close();
conn.close();
数据库连接池
使用数据库连接池可以提高数据库连接的效率和性能,常用的数据库连接池包括C3P0、Druid等。以下是使用C3P0连接池连接SQL Server数据库的示例:
- 导入C3P0依赖:在Maven中将C3P0的依赖加入项目中:
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.5</version>
</dependency>
- 配置C3P0连接池:在项目的配置文件(如
c3p0-config.xml
)中配置C3P0连接池的参数,包括数据库的URL、用户名、密码等参数,例如:
<c3p0-config>
<default-config>
<property name="jdbcUrl">jdbc:sqlserver://localhost:1433;databaseName=mydatabase</property>
<property name="user">username</property>
<property name="password">password</property>
<!-- 其他参数配置 -->
</default-config>
</c3p0-config>
- 获取数据库连接:在代码中使用C3P0的
ComboPooledDataSource
类获取数据库连接,例如:
ComboPooledDataSource dataSource = new ComboPooledDataSource();
Connection conn = dataSource.getConnection();
- 执行SQL语句和关闭连接的步骤与JDBC连接方式相同。
工具类示例
以下是一个用于连接SQL Server数据库的工具类示例,使用了JDBC连接方式:
public class SQLServerUtil {
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
private static final String USER = "username";
private static final String PASSWORD = "password";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn, Statement stmt, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
使用该工具类可以方便地获取数据库连接,并在使用完后关闭连接,避免资源泄露。
总结
本文介绍了使用Java连接SQL Server数据库的两种方式:JDBC连接和使用数据库