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;
  • 相关阅读:
    iOS开发之使用 infer静态代码扫描工具
    iOS 组件化开发之使用CocoaPod制作自己的远程私有库
    WKWebView 使用的坑
    iOS 自动化打包发布(Fastlane+ Jenkins+蒲公英)
    Flutter 开发入门实践
    【读书笔记】--《编写高质量iOS与OS X代码的52个有效方法》
    iOS 10.3+ 动态修改 App 图标
    ubuntu16.04 安装 caffe cuda 相关流程
    ubuntu 休眠后窗口边缘出现花边的解决方案
    c++实现二叉树的非递归创建以及非递归先序、中序、后序遍历
  • 原文地址:https://www.cnblogs.com/blogofjzq/p/9234590.html
Copyright © 2011-2022 走看看