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;
  • 相关阅读:
    帮同事整理的 C# 调用 C++ 回调函数
    解决VS2010下使用NUnit 无法进行调试的问题
    Linux /var/log/messages 偶尔会发生time reset +6.288863s
    linux设置静态路由
    os auto installtion
    read 在bash ksh下的不同表现
    C#编码规范1
    C#中new一个对象时,发生了什么事?
    C# 实例化类的执行顺序
    C#类注释规范
  • 原文地址:https://www.cnblogs.com/blogofjzq/p/9234590.html
Copyright © 2011-2022 走看看