1. 准备工作
在使用Java连接MSSQL数据库之前,我们需要完成以下准备工作:
1.1 下载安装JDBC驱动
JDBC(Java DataBase Connectivity)是Java连接数据库的标准API,因此我们需要先下载相应的JDBC驱动。对于MSSQL数据库,我们需要下载并安装Microsoft官方提供的JDBC驱动。可以从下面的链接中下载:
https://www.microsoft.com/en-us/sql-server/developer-get-started/java/windows/step/2.html
下载完成之后,将下载的jar包添加到项目的依赖库中。
1.2 确认MSSQL数据库的连接信息
在使用Java连接MSSQL数据库之前,需要确保已经了解数据库的连接信息:
数据库URL:数据库的地址信息。
数据库名称:要连接的数据库的名称。
用户名:连接数据库的用户名。
密码:连接数据库的密码。
以上信息需要正确填写,否则无法连接MSSQL数据库。
2. 连接MSSQL数据库
连接MSSQL数据库的过程分为以下几个步骤:
2.1 加载JDBC驱动
在使用JDBC连接MSSQL数据库之前,需要加载JDBC驱动。在这里我们使用的是Microsoft官方提供的JDBC驱动:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
2.2 建立数据库连接
连接MSSQL数据库之前,需要创建一个Connection对象,并指定连接信息:
String url = "jdbc:sqlserver://localhost:1433;databaseName=TestDB";
String username = "test";
String password = "test";
Connection conn = DriverManager.getConnection(url, username, password);
使用DriverManager类的getConnection()方法可以建立与数据库的连接。getConnection()方法使用三个参数分别表示数据库URL、用户名和密码。
3. 执行SQL语句
使用Java连接MSSQL数据库,主要是为了执行SQL语句。在这里,我们介绍几种常见的SQL语句执行方式:
3.1 Statement
Statement对象用于执行不带参数的简单SQL语句:
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM users";
ResultSet rs = stmt.executeQuery(sql);
使用createStatement()方法创建Statement对象,然后使用executeQuery()方法执行SQL语句,返回结果集ResultSet。
3.2 PreparedStatement
PreparedStatement对象用于执行带参数的SQL语句:
String sql = "SELECT * FROM users WHERE name = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
ResultSet rs = pstmt.executeQuery();
使用prepareStatement()方法创建PreparedStatement对象,然后给对应的参数设置值,最后使用executeQuery()方法执行SQL语句,返回结果集ResultSet。
3.3 CallableStatement
CallableStatement对象用于执行存储过程:
String sql = "{ call my_proc(?, ?) }";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setString(1, "Tom");
cstmt.setInt(2, 18);
cstmt.execute();
使用prepareCall()方法创建CallableStatement对象,然后给对应的参数设置值,最后使用execute()方法执行存储过程。
4. 关闭数据库连接
完成数据库操作后,需要立即关闭与数据库的连接,以释放资源:
stmt.close();
pstmt.close();
cstmt.close();
conn.close();
使用close()方法可以关闭对应的数据库对象。
总结
连接MSSQL数据库是Java开发中常见的操作。通过本文,我们学习了如何使用JDBC驱动连接MSSQL数据库,以及如何执行常见的SQL语句。在使用Java连接MSSQL数据库时,应该注意关闭数据库连接以释放资源。