zoukankan      html  css  js  c++  java
  • JDBC学习总结

    1、JDBC简介

       1JDBC(Java Database Connection)java语言访问和操作数据库的一种途径。

        2JDBC操作数据库的SQL的类型:DMLDDLDCL

        3JDBC驱动实现java连接操作不同类型的数据库。

    2、JDBC

       Java.sql——JDBC的核心类和接口

       Javax.sql——数据库连接池、数据源、JNDIRowset等高级特征

    3JDBC常用接口和类

       —DriverManager:驱动管理器,获得数据库连接

       —Connection:数据库连接接口

       —Statement:语句接口,用来静态操作SQL语句

       —PreparedStatement:预定义语句,用来动态操作SQL语句

       —CallableStatement:可以调用存储过程的预定义语句

       —ResultSet:结果集,保存数据记录的结果集合

       —ResultSetMetaData:结果集元数据,如:列名称、列类型等

       —DatabaseMetaData:数据源数据,如:数据库名称,版本等

    4JDBC编程步骤

       1)加载数据库驱动(jar文件)

       2)获得数据库连接

       3)创建语句

       4)执行查询

       5)遍历结果集

       6)关闭数据库连接

     

    5Statement的常用方法://静态的

    execute(String sql):执行给定的sql语句,该语句可能返回多个结果

    executeQuery(String sql):执行给定的sql语句,该语句返回单个ResultSet对象

    executeUpdate(String sql):执行给定的sql语句,该语句可能为INSERTUPDATE或 DELETE语句,或者不返回任何内容的sql语句(如 sql DDL语句)

    6ResultSet的常用方法:

       Absoluten:绝对定位到第n

       next():下一行,返回布尔型

    getXXX():获取对应字段对应类型的数据

    getRow():获取当前行的光标

        0:代表第一行的前边或最后一行后边

    ResultSet对象不可更新,仅有一个向下移动的光标,因此只能迭代一次,以下代码演示了如何生成可滚动且不受其他更新的影响可更新结果集:(前提是更新的表要有主键)

    Statement=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);//两参数:一个可滚动,一个可更新

    7、JDBC MetaData

       1)结果集的MetaData

          ResultSetgetMetaData方法返回结果集元数据对象ResultSetMetaData

       2)数据库的MetaData

    ConnrectiongetMetaData方法返回结果集元数据对象DatabaseMetaData 

    8、PreparedStatement//动态的,有条件的

    PreparedStatement为占位符“?”赋值,预生成SQL语句,动态操作数据库

    根据当前SQL的数据类型调用相应的方法如下:

    setAsciiStream(int parameterIndex, InputStream x)

    将指定参数设置为给定输入流。

    setBigDecimal(int parameterIndex, BigDecimal x)

    将指定参数设置为给定 java.math.BigDecimal 值。

    setBinaryStream(int parameterIndex, InputStream x)

    将指定参数设置为给定输入流。

    setBoolean(int parameterIndex, boolean x)

    将指定参数设置为给定 Java boolean 值。

    setByte(int parameterIndex, byte x)

    将指定参数设置为给定 Java byte 值。

    setBytes(int parameterIndex, byte[] x)

    将指定参数设置为给定 Java byte 数组。

    setDate(int parameterIndex, Date x)

     使用运行应用程序的虚拟机的默认时区将指定参数设置为给定 java.sql.Date 值。

    setDouble(int parameterIndex, double x)

    将指定参数设置为给定 Java double 值。

    setFloat(int parameterIndex, float x)

    将指定参数设置为给定 Java REAL 值。

    setInt(int parameterIndex, int x)

    将指定参数设置为给定 Java int 值。

    setLong(int parameterIndex, long x)

    将指定参数设置为给定 Java long 值。

    setNull(int parameterIndex, int sqlType, String typeName)

    将指定参数设置为 SQL NULL。

    setObject(int parameterIndex, Object x) 

    使用给定对象设置指定参数的值。

    setShort(int parameterIndex, short x)

    将指定参数设置为给定 Java short 值。

    setString(int parameterIndex, String x)

    将参数设置为给定 Java String 值。

    setTime(int parameterIndex, Time x)         

    将指定参数设置为给定 java.sql.Time 值。

    setTimestamp(int parameterIndex, Timestamp x)

    将指定参数设置为给定 java.sql.Timestamp 值。

    setURL(int parameterIndex, URL x)

    将参数设为给定java.net.URL 值。

     

    9、CallableStatement:用于执行 SQL 存储过程的接口。

       三种存储过程:无参数,有输入参数,有输入输出参数

    10、DAO设计模式

        

  • 相关阅读:
    全局与本地游标演示.sql
    二进制文件存取示例(TSQL)
    QML与c++交互学习笔记(八) qt c++直接调用QML中的函数, 直接设置属性
    Android 和 Chrome OS 融合的可能性
    Poang,基于Node.js的自动化测试范例
    ADO.NET 4.5中的异步与流特性
    Windows 8 应用前瞻
    Robot Framework作者建议如何选择自动化测试框架
    ROLLUP实现的分级汇总示例(定义各汇总列标题)
    备份指定表到另一数据库.sql
  • 原文地址:https://www.cnblogs.com/XiaoyangBoke/p/3580433.html
Copyright © 2011-2022 走看看