zoukankan      html  css  js  c++  java
  • JDBC数据库编程常用接口(转)

    JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各种关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现。这东西能够实现软件的扩平台性。
    JDBC是一种底层API,在访问数据库是需要在业务逻辑中直接嵌入SQL语句。
    JDBC不能够直接访问数据库,必须依赖数据库厂商提供的JDBC驱动程序完成以下三步工作1.同数据库建立连接;2.向数据库发送SQL语句;3.处理从数据库返回的结果。


    *JDBC驱动

    1.JDBC-ODBC桥连是指通过本地的OBDC Driver连接到RDBMS上。

    2.JDBC-Native桥连通过调用本地的native程序实现数据库连接,这种类型的驱动程序把客户机API上的JDBC调用转为Oracle,Sybase,Informix,DB2或者其它DBMS的调用。

    3.JDBC网络驱动是一种完全利用Java语言编写的JDBC驱动。

    4.本地协议驱动是一种完全利用Java语言编写的JDBC驱动,这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。


    #JDBC中常用接口

    -Driver接口

    每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类。

    加载JDBC-ODBC驱动:

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    -DriverManager类

    java.sql.DriverManager类负责管理JDBC驱动程序的基本服务,是JDBC的管理层,作用于用户和驱动程序之间,负责跟踪可用的驱动程序,并在数据和驱动程序之间建立连接。

    (静态方法)getConnection(String url,String user,String password)用来建立数据库连接。

    setLoginTimeout(int seconds)用来设置每次连接数据库的最长时间

    println(String message)用来输出指定消息到当前的JDBC日记流

    -Connection接口

    java.sql.Connection接口代表与特定数据库的连接,在接连的上下文中可以执行SQL语句并返回结果,还可以通过getMetaData()方法获得由数据库提供的相关信息。

    createStatement()创建并返回一个Statement 实例,通常在执行无参数的SQL语句是创建实例。

    -Statement接口

    java.sql.Statement接口用来执行静态SQL语句,并返回执行结果。

    对于INSERT,IPDATE和DELETE语句,调用executeUpdate(String sql)方法;对于SELECT语句,则调用executeQuery(String sql)方法,并返回一个永远不能为null的ResultSet实例。

    -PreparedStatement接口

    java.sql.PreparedStatement接口继承并扩展了Statement接口,用来执行动态的SQL语句,即包含参数的SQL语句。

    通过setXxx()方法为SQL语句中的参数赋值时,建议利用与参数类型匹配的方法,也可以利用setObject()为各种类型赋值。

    PreparedStetement ps=connection.preparedStatement("select * from table_name where id>? and (name=? or name=?)");

    ps.setInt(1,6);

    ps.setString(2,"马先生");

    ps.setObject(3,"李先生");

    ResultSet rs=ps.executeQuery();

    clearParameters()清除当前参数的值。

    -CallableStatement接口

    java.sql.CallableStatement接口继承并扩展PreparedStatement接口,用来执行SQL的存储过程。

    -ResultSet接口

    java.sql.ResultSet接口类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的相关信息,ResultSet实例通过执行查询数据库的语句生成。

    next()方法可以将指针移动到下一行,返回bool类型。只能迭代一次!

    getXxx()方法均有两个重载方法,分别根据列的索引号和列的名称检索列值。

    first(),返回bool值

    last(),返回bool值

    previous()将指针移动到上一行,返回bool值

    beforeFirst()

    afterLast()

    absolute()移动到指定行,int>0向下移动,int<0,向后移动

    relative()相对当前位置移动到指定行,int>0向下移动,int<0,向后移动

    getRow()当前行索引编号

    findColumn()查看指定列名的索引编号

    isBeforeFirst()查看指针是否处于实例开头,返回bool

    isFirst()查看指针是否处于第一行,返回bool

    deleteRow()删除当前行,执行该方法后,在执行close()之后才会同步到数据库

    http://www.cnblogs.com/rond/articles/1907133.html

  • 相关阅读:
    apktool 在mac下的使用 -反编译安卓apk文件
    通过Stetho在Chrome上调试Android App
    Android Studio 遇到 No Debuggable Applications 的解决方案
    安装Eclipse Maven插件的方法
    Android如何实现点击一次返回键返回桌面而不是退出应用
    安卓7.0遇到 android.os.FileUriExposedException: file:///storage/emulated.. exposed beyond app through Intent.getData()
    由Memcached使用不当而引发性能问题的两个经验总结
    对MySql查询缓存及SQL Server过程缓存的理解及总结
    由Java中toString()方法引发的无意识的递归想到的
    为什么不能把委托(delegate)放在一个接口(interface)当中?
  • 原文地址:https://www.cnblogs.com/softidea/p/5351940.html
Copyright © 2011-2022 走看看