zoukankan      html  css  js  c++  java
  • 第十七部分_详解JDBC

    JDBC(Java DataBase Connectivity)

    • 是一种用于执行SQL语句的Java API
    • 由一组用Java编程语言编写的类和接口组成
    • 为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序

    四类JDBC驱动程序(了解)

    • JDBC-ODBC桥+ODBC驱动程序:利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到该驱动程序的每个客户机上
    • 本地API:部分用Java来编写的驱动程序,这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、DB2或其他DBMS的调用。注意,像桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上
    • JDBC网络纯Java驱动程序(使用频繁):这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上
    • 本地协议纯Java驱动程序:这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议

    数据库连接的一般过程(重要)

    • 载入JDBC驱动程序(jar)
    • 定义连接URL(特定数据库)
    • 建立连接(Connection)
    • 创建Statement对象(JDBC顶层接口)
    • 执行查询或更新
    • 结果处理
    • 关闭连接

    加载驱动程序

    • 使用JDBC-ODBC桥驱动程序的语句如下:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    • 使用Oracle9i的JDBC驱动程序的语句如下:Class.forName("oracle.jdbc.driver.OracleDriver");

    建立JDBC连接

    • DriverManager类的getConnection()方法:public static Connection getConnection(String url, String user, String password) throws SQLException
    • Oracle提供了两种JDBC驱动程序

      最后,不要忘记关闭Connection对象,释放占用的资源:public void close() throws SQLException

    发送SQL语句

    • Statement对象用于将SQL语句发送到数据库中。存在三种Statement对象:Statement;PreparedStatement(从Statement继承而来);CallableStatement(从PreparedStatement继承而来)
    • 由Connection的createStatement()方法创建:public Statement createStatement() throws SQLException

    id name
    1  张三
    2  李四
    
    
    ResultSet rs = st.executeQuery("select * from person");
    
    rs.next(); // 通常用来循环遍历表,可以看作一个指针指向当前数据行,默认指向有效数据行的上一行
    
    int id = res.getInt(1); // 取得当前行中第一列的值,下同
    int id2 = res.getInt("id");
    
    String name = rs.getString(2);
    String name2 = rs.getString("name");
    
    PreparedStatement ps = con.prepareStatement("insert into person(id, name) values (?,?)");
    
    ps.setInt(1, 5); // 函数调用的类型根据字段中问号对应的类型,这里1代表第一个问号,5是设置的值
    ps.setString(2, "wangwu");
    
    ps.execute(); // 表示真正执行sql语句
    

      

  • 相关阅读:
    PAT Advanced 1067 Sort with Swap(0, i) (25分)
    PAT Advanced 1048 Find Coins (25分)
    PAT Advanced 1060 Are They Equal (25分)
    PAT Advanced 1088 Rational Arithmetic (20分)
    PAT Advanced 1032 Sharing (25分)
    Linux的at命令
    Sublime Text3使用指南
    IntelliJ IDEA创建第一个Groovy工程
    Sublime Text3 安装ftp插件
    Sublime Text3配置Groovy运行环境
  • 原文地址:https://www.cnblogs.com/Code-Rush/p/4671492.html
Copyright © 2011-2022 走看看