zoukankan      html  css  js  c++  java
  • Jdbc

    1.介绍

    Jdbc是一套面向对象的应用程序接口,制定了统一的访问类关系数据库的标准接口,为各个数据库厂商提供了标准的接口实现。通过Jdbc,开发人员可以用纯java语言和标准sql语句编写完整的数据库应用程序。

    2.流程

    (1)注册Jdbc驱动:Class.forName(驱动名)//每个数据库都应该提供一个实现java.sql.Driver的类

    (2)获得连接:DriverManager.getConnection(uri,user,password)

    (3)执行操作:connection.createStatement().executeQuery(sql)

    (4)处理数据:ResultSet.next()

    (5)清理环境:XXX.close()

    3.驱动类型

    (1)JDBC-ODBC Bridge:JDBC桥接器用于访问安装在每台客户机上的ODBC驱动程序。 使用ODBC需要在系统上配置表示目标数据库的数据源名称(DSN)。

    (2)JDBC-Native API Bridge:JDBC API调用将转换为本地C/C++ API调用,这是数据库唯一的。 这些驱动程序通常由数据库供应商提供,并以与JDBC-ODBC桥接相同的方式使用。

    (3)JDBC-middleware:JDBC客户端使用标准网络套接字与中间件应用程序服务器进行通信。 套接字信息随后由中间件应用服务器转换成DBMS所需的调用格式,并转发到数据库服务器。

    (4)Pure JDBC Driver:基于纯Java的驱动程序通过套接字连接与供应商的数据库直接通信。

    4.Connection常用方法

    createStatement(),prepareStatement() 创建并返回Statement或者PreparedStatement实例

    setAotuCommit() 设置为false启动事务 配合 commit()  提交或者rollback() 回滚

    setReadOnly() 设置是否只读

    close() 关闭连接

    5.Statement

    executeQuery(sql) 执行静态select 返回永不为Null的ResultSet

    executeUpdate(sql) 执行静态的 delete update insert,返回一个int为影响的行数

    addBatch(sql) executeBatch() clearBatch() 批处理操作

    close() 关闭

    6.PreparedStatement

    setXXX(index,data)   替换select语句中?号的位置

    clearParameters() 清除参数

    其余和Statement差不多

    7.ResultSet

    在createStatement(int type_1,int type_2)或者PrearXXX(X,X)时可以指定ResultSet的类型,第一个参数决定ResultSet的指针移动情况,第二个决定是否只读

    first() last() previous() next() beforeFirst() afterLast() absolute(index) relative(int X) 指针移动

    isXXX() 判断指针位置

    close() 关闭

    8.示例

    Class.forName(JDBC_DRIVER);
    con = DriverManager.getConnection(DB_URL,USER,PASS);
    String sql="select name from student_mes where id=?";
    st=con.prepareStatement(sql);
    st.setInt(1, 100);
    ResultSet rs=st.executeQuery();
    while(rs.next())
    {
    System.out.println(rs.getString(1));
    }
    rs.close();st.close;con.close;
  • 相关阅读:
    CSS Sprite笔记
    前端分页页码静态部分制作
    有趣的网页小部件笔记
    Lintcode 85. 在二叉查找树中插入节点
    Lintcode 166. 主元素
    网页失去焦点标题变化效果
    Lintcode 166. 链表倒数第n个节点
    Lintcode 157. 判断字符串是否没有重复字符
    Lintcode 175. 翻转二叉树
    Lintcode 372. O(1)时间复杂度删除链表节点
  • 原文地址:https://www.cnblogs.com/blogofjzq/p/9234590.html
Copyright © 2011-2022 走看看