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;
  • 相关阅读:
    Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法
    暗网,又称深网。据估计,暗网比表面网站大几个数量级。
    HexDump.java解析,android 16进制转换
    excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
    小黄人IP营销的四种玩法思维导图
    Window下PHP三种运行方式图文详解,window下的php是不是单进程的?
    全球海底光缆分布图
    redis删除单个key和多个key,ssdb会落地导致重启redis无法清除缓存
    图解人工智能机器学习深度学习的关系和区别
    B轮公司技术问题列表
  • 原文地址:https://www.cnblogs.com/blogofjzq/p/9234590.html
Copyright © 2011-2022 走看看