zoukankan      html  css  js  c++  java
  • jdbc基础

    JDBC常用接口和类简介

    1       DriverManager

    用于管理jdbc驱动的服务类。程序中使用该类的主要功能是获取Connection对象,该类包含如下方法:

    • static Connection getConnection(String url, String user, String password):该方法获得url对应数据库的连接。

    2       Connection

    代表数据库连接对象,每个Connection代表一个物理连接会话。要想访问数据库,必须先获得数据库连接。该接口的常用方法如下:

    • Statement createStatement() throws SQLException:该方法返回一个Statement对象。
    • PreparedStatement prepareStatement(String sql) throws SQLException:该方法返回预编译的Statement对象,即将SQL语句提交到数据库进行预编译。
    • CallableStatement prepareCall(String sql):该方法返回CallableStatement对象,该对象用于调用存储过程。
      上面3个方法都返回执行Sql语句的Statement对象,PreparedStatement,CallableStatement是Statement子类,只有获得了Statement之后才可以执行Sql语句。
      除此之外,Connection还有如下几个用于控制事务的方法。
    • Savepoint setSavepoint():创建一个保存点。
    • Savepoint setSavepoint(String name):以指定名字来创建一个保存点。
    • void setTransactionIsolation(int level):设置事务的隔离级别。
    • void rollback():回滚事务。
    • void rollback(Savepoint savepoint):将事务回滚到指定的保存点
    • void setAutoCommit(boolean autoCommit):关闭自动提交,打开事务。
    • void commit():提交事务。

    Java7为Connection新增了setSchema(String schema), getSchema()两个方法,这两个方法用于控制该Connection访问的数据库Schema。
    java7还为Connection新增了setNetworkTimeout(Executor executor,int milliseconds), getNetworkTimeout()两个方法来控制数据库连接的超时行为。

    3       Statement

    用于执行sql语句的工具接口。该对象即可用于执行DDL,DCL语句,也可用于执行DML语句,还可用于执行SQL查询。当执行sql查询时,返回查询到的结果集。它的常用方法如下:

    • ResultSet executeQuery(String sql) throws SQLException: 该方法用于执行查询语句,并返回查询结果对应的ResultSet对象。该方法只能用于执行查询语句。
    • Int executeUpdate(String sql) throws SQLException:该方法用于执行DML语句,并返回受影响的行数;该方法也可用于执行DDL语句,执行DDL语句将返回0.
    • Boolean execute(String sql) throws SQLException: 该方法可执行任何SQL语句。如果执行后第一个结果为ResultSet对象,则返回true;如果执行后第一个结果为受影响的行数或没有任何结果,则返回false

    4       PreparedStatement

    预编译的Statement对象。preparedStatement是Statement的子接口,它允许数据库预编译SQL语句(这些sql语句通常带有参数),以后每次只改变sql命令的参数,避免数据库每次都需要编译sql语句,因此性能更好。相对于Statement而言,使用PreparedSatement执行sql语句时,无须再传入sql语句,只要为预编译的sql语句传入参数值即可。所以它比Statement多了如下方法

    • Void setXxx(int parameterIndex , Xxx value):该方法根据传入参数值的类型不同,需要使用不同的方法。传入的值根据索引传给sql语句中指定位置的参数。

    PreparedStatement同样有executeUpdate(), executeQuery() , execute() 三个方法,只是这三个方法无须接收sql字符串,因为PreparedStatement对象已经预编译了sql命令,只要为这些命令传入参数即可。

    5       ResultSet

    结果集对象。该对象包含访问查询结果的方法,ResultSet可以通过列索引或列名获得列数据。它包含如下常用方法来移动记录指针:

    • Void close() throws SQLException:释放ResultSet对象。
    • Boolean absolute(int row):将结果集的指针移动到第row行,如果row是负数,则移动指针到倒数第row行。如果移动后的指针指向一条有效记录,则该方法返回true
    • Void beforeFirst():将ResultSet的记录指针定位到首行之前,这是 ResultSet结果集记录指针的初始状态-------记录指针的起始位置位于第一行之前。
    • Boolean first() ----将ResultSet的记录指针定位到首行。如果移动后的记录指针指向一条有效记录,则该方法返回true
    • Boolean previous()-----将ResultSet的记录指针定位到上一行。如果移动后的记录指针指向一条有效记录,则该方法返回true。
    • Boolean next() ------将ResultSet记录指针定位到下一行,如果移动后的记录指针指向一条有效记录,则该方法返回true
    • Boolean last() ---- 将ResultSet的记录指针定位到最后一行,如果移动后的记录指针指向一条有效记录,则该方法返回true。
    • Void afterLast() ----- 将ResultSet的记录指针定位到最后一行之后。

    当把记录指针移动到指定行之后,ResultSet可通过getXxx(int columnIndex)或getxxx(String columnLabel)方法来获取当前行、指定列的值,前者根据列索引获取值,后者根据列名获取值。

  • 相关阅读:
    [leetcode]5最长回文子串
    [leetcode]4寻找两个有序数组的中位数
    [leetcode]3无重复字符的最长字串
    [leetcode]2两数相加
    [leetcode]1两数之和
    [学习记录]堆
    [学习记录]平衡树
    [学习记录]二叉树删除
    [学习记录]排序算法总结
    创建mysql数据库
  • 原文地址:https://www.cnblogs.com/haiwei_sun/p/3403104.html
Copyright © 2011-2022 走看看