### JDBC连接不同数据库知识点
#### 一、JDBC简介
Java Database Connectivity (JDBC) 是 Java 语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用 Java 编程语言编写的类和接口组成。JDBC 可以适用于多种关系型数据库。
#### 二、JDBC连接数据库步骤
通常情况下,使用 JDBC 连接数据库主要涉及以下几个步骤:
1. **加载数据库驱动**:通过 `Class.forName()` 方法来加载特定数据库的 JDBC 驱动。
2. **建立连接**:使用 `DriverManager.getConnection()` 方法来建立与数据库之间的连接。
3. **执行SQL语句**:创建 `Statement` 或 `PreparedStatement` 对象来执行 SQL 语句。
4. **处理结果集**:如果执行的是查询操作,则需要通过 `ResultSet` 来处理查询结果。
5. **关闭连接**:最后记得关闭所有打开的资源,包括 `ResultSet`、`Statement` 和 `Connection`。
#### 三、具体实现示例
##### 1. MySQL数据库连接
- **加载驱动**:`Class.forName("com.mysql.jdbc.Driver");`
- **连接URL**:`jdbc:mysql://127.0.0.1/bbs?user=root&password=root`
- **解释**:
- `jdbc:mysql://127.0.0.1/`:表示使用 MySQL 的 JDBC 驱动连接到本地的 MySQL 数据库服务器。
- `bbs`:表示连接到名为 `bbs` 的数据库。
- `?user=root&password=root`:设置登录用户名为 `root`,密码也为 `root`。
- **建立连接**:`Connection conn = DriverManager.getConnection(url);`
- **说明**:这里通过 `DriverManager.getConnection()` 方法建立了一个 `Connection` 对象,该对象代表了与数据库的连接。
##### 2. SQL Server数据库连接
- **加载驱动**:`Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");`
- **连接URL**:`jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test1`
- **解释**:
- `jdbc:sqlserver://127.0.0.1:1433;`:表示使用 SQL Server 的 JDBC 驱动连接到本地的 SQL Server 数据库服务器,端口号为 `1433`(默认端口)。
- `DatabaseName=test1`:表示连接到名为 `test1` 的数据库。
- **用户名和密码**:`"test2","111"`
- **说明**:这里的用户名是 `test2`,密码是 `111`。
- **建立连接**:`conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test1","test2","111");`
- **说明**:同样地,这里通过 `DriverManager.getConnection()` 方法建立了与 SQL Server 的连接,并传递了数据库的 URL、用户名和密码作为参数。
#### 四、注意事项
1. **驱动版本**:确保使用的 JDBC 驱动版本与数据库版本兼容。
2. **异常处理**:在实际开发过程中,应该捕获并处理可能出现的 `ClassNotFoundException` 和 `SQLException`。
3. **资源管理**:使用完数据库连接后要及时关闭,避免资源泄露。
4. **安全性**:在生产环境中,避免将数据库用户名和密码硬编码在代码中,可以考虑使用环境变量或者配置文件等方式进行管理。
5. **性能优化**:对于频繁访问数据库的应用,可以考虑使用连接池技术来提高性能。
通过以上介绍,我们可以看到使用 JDBC 连接不同的数据库时,虽然具体的驱动类名和连接字符串有所不同,但基本的流程是相似的。掌握这些基本知识可以帮助 Java 开发者更高效地与各种关系型数据库进行交互。