加载JDBC驱动,并将其注册到DriverManager中,下面是一些主流数据库的JDBC驱动加裁注册的代码: //Oracle8/8i/9iO数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Sql Server7.0/2000数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //DB2数据库 Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); //Informix数据库 Class.forName("com.informix.jdbc.IfxDriver").newInstance(); //Sybase数据库 Class.forName("com.sybase.jdbc.SybDriver").newInstance(); //MySQL数据库 Class.forName("com.mysql.jdbc.Driver").newInstance(); //PostgreSQL数据库 Class.forNaem("org.postgresql.Driver").newInstance(); ....................................................... ### Java连接数据库字符串详解 #### 一、JDBC概述与加载驱动 在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。通过JDBC,Java应用程序能够连接多种类型的数据库,进行数据的查询、更新等操作。 加载JDBC驱动是使用JDBC进行数据库操作的第一步。通常,这一步骤涉及到将对应的JDBC驱动库添加到项目的类路径(classpath)中,并通过Java代码将驱动注册到`DriverManager`。下面是一些主流数据库的JDBC驱动加载和注册的示例代码: 1. **Oracle8/8i/9i(Thin模式)** ```java Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); ``` 2. **SQL Server 7.0/2000** ```java Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); ``` 3. **DB2** ```java Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); ``` 4. **Informix** ```java Class.forName("com.informix.jdbc.IfxDriver").newInstance(); ``` 5. **Sybase** ```java Class.forName("com.sybase.jdbc.SybDriver").newInstance(); ``` 6. **MySQL** ```java Class.forName("com.mysql.jdbc.Driver").newInstance(); ``` 7. **PostgreSQL** ```java Class.forName("org.postgresql.Driver").newInstance(); ``` 这些代码的主要作用是动态地加载对应的JDBC驱动类,并通过调用`newInstance()`方法创建驱动实例。注意,随着JDBC驱动的发展,某些驱动可能不再推荐使用`newInstance()`,而是建议通过其他方式自动注册驱动。 #### 二、建立数据库连接 加载并注册了JDBC驱动之后,接下来就需要通过`DriverManager.getConnection()`方法来获取数据库连接。下面是针对不同数据库的连接示例: 1. **Oracle8/8i/9i(Thin模式)** ```java String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "scott"; String password = "tiger"; Connection conn = DriverManager.getConnection(url, user, password); ``` 2. **SQL Server 7.0/2000** ```java String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; String user = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. **DB2** ```java String url = "jdbc:db2://localhost:5000/sample"; String user = "admin"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); ``` 4. **Informix** ```java String url = "jdbc:informix-sqli://localhost:1533/testDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword"; Connection conn = DriverManager.getConnection(url); ``` 5. **Sybase** ```java String url = "jdbc:sybase:Tds:localhost:5007/tsdata"; Properties sysProps = new Properties(); sysProps.put("user", "userid"); sysProps.put("password", "user_password"); Connection conn = DriverManager.getConnection(url, sysProps); ``` 6. **MySQL** ```java String url = "jdbc:mysql://localhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312"; Connection conn = DriverManager.getConnection(url); ``` 7. **PostgreSQL** ```java String url = "jdbc:postgresql://localhost/testDB"; String user = "myuser"; String password = "mypassword"; Connection conn = DriverManager.getConnection(url, user, password); ``` 在上述示例中,每个数据库的URL格式略有不同,但基本都包含以下组成部分:协议(如`jdbc:mysql://`)、主机地址、端口、数据库名称等。用户还需要提供用户名和密码(如果适用的话)来完成认证过程。 #### 三、执行SQL语句 一旦建立了数据库连接,就可以使用`Statement`或`PreparedStatement`对象来执行SQL语句。这两种对象的区别在于`PreparedStatement`支持预编译SQL语句,这对于防止SQL注入攻击以及提高执行效率非常有用。 示例代码如下: ```java // 使用Statement Statement stmt = conn.createStatement(); // 使用PreparedStatement PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?"); pstmt.setInt(1, 1); // 设置参数 ResultSet rs = pstmt.executeQuery(); ``` 在实际应用中,为了提高代码的可读性和安全性,建议使用`PreparedStatement`代替`Statement`。此外,还应该确保在处理完数据库操作后正确关闭所有的资源,包括`Connection`、`Statement`和`ResultSet`等对象,以避免内存泄漏和其他潜在的问题。
2 加载JDBC驱动,并将其注册到DriverManager中,下面是一些主流数据库的JDBC驱动加裁注册的代码:
//Oracle8/8i/9iO数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//DB2数据库
Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
//Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
//Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
//MySQL数据库
Class.forName("com.mysql.jdbc.Driver").newInstance();
//PostgreSQL数据库
Class.forNaem("org.postgresql.Driver").newInstance();
3 建立数据库连接,取得Connection对象.例如:
//Oracle8/8i/9i数据库(thin模式)
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
Connection conn=DriverManager.getConnection(url,user,password);
//Sql Server7.0/2000数据库
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="";
Connection conn=DriverManager.getConnection(url,user,password);
//DB2数据库
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助