JDBC连接三大数据库教程
本文档是关于使用Java JDBC(Java Database Connectivity)连接不同数据库的示例,包括Oracle、Microsoft SQL Server和IBM DB2。通过这些示例,我们可以学习如何配置驱动程序、建立数据库连接以及执行SQL查询。 在Java编程中,JDBC是一个用于与各种数据库进行交互的标准接口。它允许开发人员编写与特定数据库无关的代码,从而提高了代码的可移植性。以下是对各个数据库连接示例的详细解释: 1. Oracle数据库连接: - 首先,我们需要加载Oracle的JDBC驱动,这通常通过`Class.forName()`方法完成,参数为驱动类的全名:`oracle.jdbc.driver.OracleDriver`。 - 接着,定义数据库连接URL(例如:`jdbc:oracle:thin:@localhost:1521:orcl`),其中`localhost`是服务器地址,`1521`是Oracle监听的端口号,`orcl`是服务名或SID。 - 使用`DriverManager.getConnection()`创建数据库连接,传入URL、用户名和密码。 - 创建`Statement`对象,设置`ResultSet`类型为`TYPE_SCROLL_SENSITIVE`和并发级别为`CONCUR_UPDATABLE`,以便进行滚动和更新操作。 - 执行SQL查询(如:`select * from test`),并获取`ResultSet`对象。 2. Microsoft SQL Server连接: - 类似于Oracle,首先加载SQL Server的JDBC驱动,使用`com.microsoft.jdbc.sqlserver.SQLServerDriver`。 - 数据库连接URL格式为:`jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs`,其中`localhost`是服务器地址,`1433`是默认的SQL Server端口,`pubs`是数据库名称。 - 创建连接并创建`Statement`对象,执行SQL查询和处理`ResultSet`。 3. IBM DB2连接: - 加载DB2的JDBC驱动,使用`com.ibm.db2.jdbc.app.DB2Driver`。 - 连接URL示例:`jdbc:db2://localhost:5000/sample`,其中`localhost`是服务器地址,`5000`是DB2的监听端口,`sample`是数据库名。 - 创建连接并创建`Statement`,执行SQL和处理`ResultSet`。 在实际应用中,为了处理异常和确保资源的正确关闭,我们通常会使用`try-catch-finally`块。例如: ```java try { // 连接和查询代码 } catch (SQLException e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException ex) { ex.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } ``` 此外,现代的Java编程推荐使用`try-with-resources`语句来自动关闭数据库连接和相关资源,以简化代码并避免资源泄漏: ```java try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)) { // 查询代码 } catch (SQLException e) { e.printStackTrace(); } ``` JDBC提供了一种标准的方式来连接和操作不同的数据库系统,通过上述示例,我们可以了解到不同数据库的连接方式和基本操作流程。在实际开发中,还需要根据具体数据库驱动的文档来调整连接参数和URL格式。
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
//MS sql server
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
//db2
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
//informix
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword";
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多传感器数据融合手册:国外原版技术指南
- MyEclipse快捷键大全,提升编程效率
- 从零开始的编程学习:Linux汇编语言入门
- EJB3.0实例教程:从入门到精通
- 深入理解jQuery源码:解析与分析
- MMC-1电机控制ASSP芯片用户手册
- HS1101相对湿度传感器技术规格与应用
- Shell基础入门:权限管理与常用命令详解
- 2003年全国大学生电子设计竞赛:电压控制LC振荡器与宽带放大器
- Android手机用户代理(User Agent)详解与示例
- Java代码规范:提升软件质量和团队协作的关键
- 浙江电信移动业务接入与ISAG接口实战指南
- 电子密码锁设计:安全便捷的新型锁具
- NavTech SDAL格式规范1.7版:车辆导航数据标准
- Surfer8中文入门手册:绘制等高线与克服语言障碍
- 排序算法全解析:冒泡、选择、插入、Shell、快速排序