zoukankan      html  css  js  c++  java
  • JavaEE JDBC 核心API

    JDBC接口核心的API

    @author ixenos

    java.sql.*   和  javax.sql.*


    |- Driver接口: 表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口。

      |- connect(url, properties):  连接数据库的方法。

    • url: 连接数据库的URL
    • URL语法: jdbc协议:数据库子协议://主机:端口/数据库
    • user: 数据库的用户名
    • password: 数据库用户密码

    |- DriverManager类: 驱动管理器类,用于管理所有注册的驱动程序

      |-registerDriver(driver)  : 注册驱动类对象

      |-Connection getConnection(url,user,password);  获取连接对象

    |- Connection接口: 表示java程序和数据库的连接对象。

      |- Statement createStatement() : 创建Statement对象

      |- PreparedStatement prepareStatement(String sql)  创建PreparedStatement对象    

      |- CallableStatement prepareCall(String sql) 创建CallableStatement对象

    |- Statement接口: 用于执行静态的sql语句

        |- int executeUpdate(String sql)  : 执行静态的更新sql语句(DDL,DML)

        |- ResultSet executeQuery(String sql)  :执行的静态的查询sql语句(DQL)

      |-PreparedStatement接口:用于执行预编译sql语句

          |- int executeUpdate() : 执行预编译的更新sql语句(DDL,DML)

          |-ResultSet executeQuery()  : 执行预编译的查询sql语句(DQL)

        |-CallableStatement接口:用于执行存储过程的sql语句(call xxx)

          |-ResultSet executeQuery()  : 调用存储过程的方法

    |- ResultSet接口:用于封装查询出来的数据

      |- boolean next() : 将光标移动到下一行

      |-getXX() : 获取列的值

     Connection


     

    l  Jdbc程序中的Connection,它用于代表数据库的链接,Collection是数据库编程中最重要的一个对象,客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:

    • createStatement():创建向数据库发送sql的statement对象。
    • prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
    • prepareCall(sql):创建执行存储过程的CallableStatement对象。
    • setAutoCommit(boolean autoCommit):设置事务是否自动提交。
    • commit() :在链接上提交事务。
    • rollback() :在此链接上回滚事务。

     Statement (包括子接口PreparedStatement、CallableStatement)


     

    l  Jdbc程序中的Statement对象用于向数据库发送SQL语句, Statement对象常用方法:

    • executeQuery(String sql) :用于向数据发送查询语句。
    • executeUpdate(String sql):用于向数据库发送insert、update或delete语句
    • execute(String sql):用于向数据库发送任意sql语句
    • addBatch(String sql) :把多条sql语句放到一个批处理中。
    • executeBatch():向数据库发送一批sql语句执行。

     ResultSet


     

    l  Jdbc程序中的ResultSet用于代表SQL语句的执行结果。Resultset封装执行结果时,采用的类似于表格的方式。ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。

    l  ResultSet既然用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:

    • 获取任意类型的数据

    l  getObject(int index)

    l  getObject(string columnName)

    • 获取指定类型的数据,例如:

    l  getString(int index)

    l  getString(String columnName)

    • 提问:数据库中列的类型是varchar,获取该列的数据调用什么方法?Int类型呢?bigInt类型呢?Boolean类型?
    • 注意:列的索引从1开始。

    l  ResultSet还提供了对结果集进行滚动的方法:

    • next():移动到下一行
    • previous():移动到前一行
    • absolute(int row):移动到指定行
    • beforeFirst():移动resultSet的最前面。

    afterLast() :移动到resultSet的最后面

     注意


     

    l  Jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是ResultSet, Statement和Connection对象。

    l  特别是Connection对象,它是非常稀有的资源,用完后必须马上释放,如果Connection不能及时、正确的关闭,极易导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。(使用原则:尽量晚的创建,尽量早的释放)  

    l  为确保资源释放代码能运行,资源释放代码也一定要放在finally语句中。

  • 相关阅读:
    JZOJ Contest2633 总结
    6813. 【2020.10.05提高组模拟】送信
    HDU 1506 最大子矩形
    2020.10.07【NOIP提高A组】模拟 总结
    6815. 【2020.10.06提高组模拟】树的重心
    2020.10.06【NOIP提高A组】模拟 总结
    2020.10.05【NOIP提高A组】模拟 总结
    gmoj 3976. 【NOI2015模拟1.17】⑨
    2020.09.26【省选组】模拟 总结
    2020.09.19【省选组】模拟 总结
  • 原文地址:https://www.cnblogs.com/ixenos/p/6291383.html
Copyright © 2011-2022 走看看