jdbc小结

本文详细介绍了使用 JDBC 连接 Oracle 数据库的应用程序开发步骤,包括加载驱动、创建连接及执行 SQL 语句等关键环节,并对比了 Statement 和 PreparedStatement 的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:JDBC应用程序开发步骤(oracle版):

 

1、加载驱动程序(不同的数据库产品有不同的驱动程序):

 

       a:首先导入相关的驱动包,oracle的是classes12.jar

       b:注册jdbc的驱动程序:(实例化过程中自动注册:造一个人去告诉Oracle我要访了)

              Class.forName("oracle.jdbc.driver.OracleDriver");

 

2、创建数据库的连接对象:(要来连接的钥匙)

 

       Connection conn = DriverManager.getConnection(url, user, password);

       urljdbc:oracle:thin:@<machine_name><:port>:dbname

              如:"jdbc:oracle:thin:@192.168.1.112:1521:oracle";

 

3、创建sql语句对象:

      

       Stagement stmt = conn.createStatement();

 

3、通过语句对象执行sql语句

 

       如:stmt.execute("insert into form values('lianOracle1','haha111',4566)");

          ResultSet re = stmt.executeQuery("select * from form");//返回一个结果集

 

4、循环遍历结果集:

      

       如:while(re.next()) {

                            System.out.print(re.getString("name") + "  ");                        

                            System.out.print(re.getString("address") + "   ");

                            System.out.println(re.getInt("salary"));

       }

 

5、关闭数据库:(后开的先关)

 

       re.close();

       stmt.close();

       conn.close();

 

6、例:

 

import java.sql.*;

 

public class Oracle {

 

       public static void main(String[] args) {

 

              ResultSet re = null;

              Statement stmt = null;

              Connection conn = null;

 

              try {

                     // 连接字符串

                     String url = "jdbc:oracle:thin:@192.168.1.112:1521:oracle";

                     String user = "pu";

                     String password = "pu";

 

                     // 造一个人去告诉Oracle我要来拜访了

                     Class.forName("oracle.jdbc.driver.OracleDriver");

 

                     // 要来连接的钥匙,即建立连接

                     conn = DriverManager.getConnection(url, user, password);

 

                     // 创建一个语句对象

                     stmt = conn.createStatement();

 

                     // 通过语句对象执行sql语句

                     //stmt.execute("insert into form values('lOracle1','haha111',4566)");

 

                     // 返回一个结果集

                     re = stmt.executeQuery("select * from form");

                     while(re.next()) {

                            System.out.print(re.getString("name") + "  ");                        

                            System.out.print(re.getString("address") + "   ");

                            System.out.println(re.getInt("salary"));

                     }

              } catch (SQLException e) {

                     e.printStackTrace();

              } catch (ClassNotFoundException ee) {

                     ee.printStackTrace();

              } finally {

                     try {

                            if (re != null) {

                                   re.close();

                            }

                            if (stmt != null) {

                                   stmt.close();

                            }

                            if (conn != null) {

                                   conn.close();

                            }

                     } catch (SQLException e) {

                            e.printStackTrace();

                     }

              }

       }

}

 

二、相关知识点:

 

1、五个重要的接口:

      

       Connection:特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果

       Statement:用于执行静态 SQL 语句并返回它所生成结果的对象

       PreparedStatement:表示预编译的 SQL 语句的对象

       CallableStatement:用于执行 SQL 存储过程的接口

       ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成

 

2StatementPreparedStatement 如:

 

       sql = "insert into form values

(" + "'" + name + "'" + "," + "'" + address + "'" + "," + salary + ")";

 

       pstmt = conn.prepareStatement("insert into form values(?, ?, ?)");

                     pstmt.setString(1, name);

                     pstmt.setString(2, address);

                     pstmt.setInt(3, salary);

       ?是占位符,PreparedStatement灵活指定sql语句中的环境变量,写起来简单

 

 

附:相关驱动:

 

       -------------------------------oracle------------------

       驱动:oracle.jdbc.driver.OracleDriver

       URLjdbc:oracle:thin:@<machine_name><:port>:dbname

       注:machine_name:数据库所在的机器的名称;

       port:端口号,默认是1521

       -------------------------------mysql-------------------

       驱动:org.gjt.mm.mysql.Driver

       or:   com.mysql.jdbc.Driver

       URLjdbc:mysql://<machine_name><:port>/dbname

       注:machine_name:数据库所在的机器的名称;

       port:端口号,默认3306

       ---------------------------SQL Server------------------

       驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver

       URLjdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>

       注:machine_name:数据库所在的机器的名称;

       port:端口号,默认是1433

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值