精华内容
下载资源
问答
  • java.sql包中接口,它是sun公司为了简化,统一对数据库的操作,定义了一套java操作数据库的规范,由各个数据库公司自己实现,数据库有mysql oracle等,而com.mysql.jdbc包中的类是mysql自己实现规范接口的类,不同...

    java.sql包中的接口,它是sun公司为了简化,统一对数据库的操作,定义了一套java操作数据库的规范,由各个数据库公司自己实现,数据库有mysql oracle等,而com.mysql.jdbc包中的类是mysql自己实现规范接口的类,不同的数据库有不同的实现,为了能够只写一套代码,实现跨数据库使用,书写传统jdbc需要导入的包就使用java.sql包,而不用考虑具体的实现类。

    作者:jclih
    来源:CSDN
    原文:https://blog.csdn.net/weixin_37885641/article/details/78926632
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • java.sql 包中的 API

    2012-06-29 10:08:32
    通过 DriverManager 实用程序建立与数据库的连接 DriverManager 类:建立与驱动程序的...DriverManager 设置一个记录流 Driver 接口:提供用来注册和连接基于 JDBC 技术(“JDBC 驱动程序”)的驱动程序的 API,通
    • 通过 DriverManager 实用程序建立与数据库的连接
      • DriverManager 类:建立与驱动程序的连接
      • SQLPermission 类:当代码在 Security Manager(比如 applet)中运行时提供权限,试图通过 DriverManager 设置一个记录流
      • Driver 接口:提供用来注册和连接基于 JDBC 技术(“JDBC 驱动程序”)的驱动程序的 API,通常仅由 DriverManager 类使用
      • DriverPropertyInfo 类:提供 JDBC 驱动程序的属性,不是供一般用户使用的
    • 向数据库发送 SQL 语句
      • Statement:用于发送基本 SQL 语句
      • PreparedStatement:用于发送准备好的语句或基本 SQL 语句(派生自 Statement
      • CallableStatement:用于调用数据库存储过程(派生自 PreparedStatement
      • Connection 接口:提供创建语句以及管理连接及其属性的方法
      • Savepoint:在事务中提供保存点
    • 检索和更新查询的结果
      • ResultSet 接口
    • SQL 类型到 Java 编程语言中的类和接口的标准映射关系
      • Array 接口:SQL ARRAY 的映射关系
      • Blob 接口:SQL BLOB 的映射关系
      • Clob 接口:SQL CLOB 的映射关系
      • Date 类:SQL DATE 的映射关系
      • Ref 接口:SQL REF 的映射关系
      • Struct 接口:SQL STRUCT 的映射关系
      • Time 类:SQL TIME 的映射关系
      • Timestamp 类:SQL TIMESTAMP 的映射关系
      • Types 类:提供用于 SQL 类型的常量
    • 自定义映射 SQL 用户定义类型 (UDT) 到 Java 编程语言中的类
      • SQLData 接口:指定 UDT 到此类的一个实例的映射关系
      • SQLInput 接口:提供用来从流中读取 UDT 属性的方法
      • SQLOutput 接口:提供用来将 UDT 属性写回流中的方法
    • 元数据
      • DatabaseMetaData 接口:提供有关数据库的信息
      • ResultSetMetaData 接口:提供有关 ResultSet 对象的列的信息
      • ParameterMetaData 接口:提供有关 PreparedStatement 命令的参数的信息
    • 异常
      • SQLException:由大多数方法在访问数据出问题时抛出,以及因为其他原因由其他一些方法抛出
      • SQLWarning:为了指示一个警告而抛出
      • DataTruncation:为了指示数据可能已经被截断而抛出
      • BatchUpdateException:为了指示并不是批量更新中的所有命令都成功执行而抛出

    JDBC 3.0 API 中引入的 java.sqljavax.sql 特性

    • 入池语句 (pooled statement):重新使用与某个已入池的连接 (pooled connection) 相关的语句
    • 保存点:允许将事务回滚到某一指定保存点
    • ConnectionPoolDataSource 定义的属性:指定将连接入池的方法
    • PreparedStatement 对象的参数的元数据
    • 从自动生成的列中检索值的能力
    • 使从 CallableStatement 对象中返回的多个 ResultSet 对象同时打开的能力
    • 通过名称和索引标识 CallableStatement 对象的参数的能力
    • ResultSet 可保存性:指定是否应该让游标在某一事务结束时保持打开或关闭状态的能力
    • 检索和更新 Ref 对象引用的 SQL 结构化类型实例的能力
    • 通过编程方式更新 BLOBCLOBARRAYREF 值的能力。
    • java.sql.Types.DATALINK 数据类型的添加:允许 JDBC 驱动程序访问数据源以外的地方存储的对象
    • 用于检索 SQL 类型分层结构的元数据的添加

    JDBC 2.1 Core API 中引入的 java.sql 特性

    • 可滚动的结果集:使用 ResultSet 接口中的新方法,这些方法允许将光标移动到某一特定行,或者移动到其当前位置的某一相对位置
    • 批量更新
    • 编程式更新:使用 ResultSet updater 方法
    • 新数据类型:映射 SQL3 数据类型的接口
    • 用户定义类型 (UDT) 的自定义映射关系
    • 其他特性,包括性能提示、字符流的使用、java.math.BigDecimal 值的完全精度、其他安全性,以及对日期、时间和时间戳值中的时区的支持。

    JDBC 2.0 Package API 中引入的 javax.sql 特性

    • DataSource 接口被认为是建立连接的一种方式。Java Naming 和 Directory InterfaceTM (JNDI) 用于向命名服务注册一个 DataSource 对象和检索该对象。
    • 入池连接:允许使用和重新使用连接
    • 分布式事务:允许事务跨越不同的 DBMS 服务器
    • RowSet 技术:提供一个处理和传递数据的便捷方法

    UDT 的自定义映射关系

    可以将 SQL 中定义的用户定义类型 (UDT) 映射到 Java 编程语言中的类。SQL 结构化类型或 SQL DISTINCT 类型是可以自定义映射的 UDT。以下三个步骤设置了一个自定义映射关系:
    1. 在 SQL 中定义 SQL 结构化类型或 DISTINCT 类型
    2. 定义 Java 编程语言中的类,SQL UDT 将映射到该类。此类必须实现 SQLData 接口。
    3. Connection 对象的类型映射表中创建一个项,该项包含两项内容:
      • UDT 的完全限定 SQL 名称
      • 实现 SQLData 接口的类的 Class 对象

    为 UDT 准备好这些之后,在该 UDT 上调用 ResultSet.getObjectCallableStatement.getObject 方法将自动检索该 UDT 的自定义映射关系。此外,PreparedStatement.setObject 方法会自动将该对象映射回其 SQL 类型,以便将它存储在数据源中。


    展开全文
  • java.sql.* 和javax.sql.*

    千次阅读 2016-11-17 19:23:02
    【转】java.sql.* 和javax.sql.*   (2011-06-25 23:10:06) 转载▼   分类: J2EE 原文链接 java.sql:  包含的接口和类采用传统的C/S体系结构设计思想.主要功能针对基本...

    【转】java.sql.* 和javax.sql.*

      (2011-06-25 23:10:06)
      分类: J2EE

    原文链接

    java.sql:   
      包含的接口和类采用传统的C/S体系结构设计思想.主要功能针对基本数据库编程服务,如生成连接,执行语句以及准备语句和运行批处理语句.也有一些高级功能如批处理更新,可滚动结果集,事务隔离以及SQL数据类型.   
        
      javax.sql   
      引入了JDBC编程方面一些主要的体系结构改变,并且为连接管理,分布式事务处理和老式连接提供了更好的抽象.这个包也引入了容器管理的连接缓冲池,分布式事务以及行集(rowset)   

     

    java.sql.*是jdbc2.0之前的东西   
    javax.sql.*包括了jdbc3.0的特性   
        
      javax.sql.*提供了很多新特性,是对java.sql的补充,具体提供了一下方面的功能   
      (1)Datasource接口提供了一种可选择性的方式去建立连接   
      (2)提供了连接池的支持   
      (3)增加了分布式的事务处理机制   
      (4)增加了rowset


    下面是一些具体的函数:

     

    5.1 java.sql包

    JDBC核心类库包含在java.sql包中。java.sql包中的注释(annotations)、枚举、类和接口如下。注释、枚举和类使用粗体;接口使用正常字体。

    java.sql.AutoGeneratedKeys 
    java.sql.Array
    java.sql.BaseQuery
    java.sql.BatchUpdateException 
    java.sql.Blob
    java.sql.CallableStatement
    java.sql.ClientInfoException 
    java.sql.Column 
    java.sql.Clob
    java.sql.Connection
    java.sql.DataSet
    java.sql.DataTruncation 
    java.sql.DatabaseMetaData
    java.sql.Date 
    java.sql.Driver
    java.sql.DriverManager 
    java.sql.DriverPropertyInfo 
    java.sql.NClob
    java.sql.ParameterMetaData
    java.sql.PreparedStatement
    java.sql.Query 
    java.sql.QueryObjectFactory 
    java.sql.QueryObjectGenerator
    java.sql.Ref
    java.sql.ResultSet
    java.sql.ResultSetMetaData
    java.sql.RowId
    java.sql.RowIdLifeTime 
    java.sql.Savepoint
    java.sql.SQLData
    java.sql.SQLDataException 
    java.sql.SQLException 
    java.sql.SQLInput
    java.sql.SQLIntegrityConstraintViolationException 
    java.sql.SQLInvalidAuthorizationSpecException 
    java.sql.SQLNonTransientConnectionException 
    java.sql.SQLNonTransientException 
    java.sql.SQLOutput
    java.sql.SQLPermission
    java.sql.SQLSyntaxErrorException 
    java.sql.SQLTimeoutException 
    java.sql.SQLTransactionRollbackException 
    java.sql.SQLTransientConnectionException 
    java.sql.SQLTransientException 
    java.sql.SQLXML
    java.sql.SQLWarning 
    java.sql.Statement
    java.sql.Struct
    java.sql.Table 
    java.sql.Time 
    java.sql.Timestamp 
    java.sql.Types 
    java.sql.Update 
    java.sql.Wrapper

    下列类和接口是新增的或经过修改的。新的类和接口用粗体标出。

    java.sql.AutoGeneratedKeys 
    java.sql.BaseQuery 
    java.sql.Blob
    java.sql.CallableStatement
    java.sql.ClientInfoException 
    java.sql.Clob
    java.sql.Column 
    java.sql.Connection
    java.sql.DatabaseMetaData
    java.sql.NClob 
    java.sql.PreparedStatement
    java.sql.Query 
    java.sql.QueryObjectFactory 
    java.sql.QueryObjectGenerator 
    java.sql.ResultSet
    java.sql.RowId 
    java.sql.RowIdLifeTime 
    java.sql.SQLDataException 
    java.sql.SQLException
    java.sql.SQLIntegrityConstraintViolationException 
    java.sql.SQLInvalidAuthorizationSpecException 
    java.sql.SQLNonTransientConnectionException 
    java.sql.SQLNonTransientException 
    java.sql.SQLSyntaxErrorException 
    java.sql.SQLTimeoutException 
    java.sql.SQLTransactionRollbackException 
    java.sql.SQLTransientConnectionException 
    java.sql.SQLTransientException 
    java.sql.SQLXML 
    java.sql.SQLWarning
    java.sql.Statement
    java.sql.Table 
    java.sql.Types
    java.sql.Update 
    java.sql.Wrapper 
    javax.sql.CommonDataSource 
    javax.sql.StatementEvent 
    javax.sql.StatementEventListener


    【转】java.sql.* <wbr>和javax.sql.*

    图5-1显示了java.sql包中关键类和接口之间的交互和关系,以及用于创建语句、设置参数、检索结果的方法。

     


     

    5.2 javax.sql包

    java.sql包中的类和接口如下。类使用粗体;接口使用正常字体。

    javax.sql.CommonDataSource
    javax.sql.ConnectionEvent 
    javax.sql.ConnectionEventListener
    javax.sql.ConnectionPoolDataSource
    javax.sql.DataSource
    javax.sql.PooledConnection
    javax.sql.RowSet
    javax.sql.RowSetEvent 
    javax.sql.RowSetInternal
    javax.sql.RowSetListener
    javax.sql.RowSetMetaData
    javax.sql.RowSetReader
    javax.sql.RowSetWriter
    javax.sql.StatementEvent 
    javax.sql.StatementEventListener
    javax.sql.XAConnection
    javax.sql.XADataSource

     


    注意  :javax.sql包中的类和接口最开始是作为JDBC 2.0可选包引入的。可选包独立于java.sql包提供。 现在两者都包含在J2SE 1.4中。

    图5-2,图5-3,图5-4和图5-5显示了以下功能领域中关键类和接口之间的关系:DataSource对象,池化连接,分布式事务,行集。

    【转】java.sql.* <wbr>和javax.sql.*

    图5-2 javax.sql.DataSource和java.sql.Connection之间的关系

    【转】java.sql.* <wbr>和javax.sql.*
    图5-3 连接池化过程中涉及的关系

    【转】java.sql.* <wbr>和javax.sql.*

    图5-4 分布式事务支持中涉及的关系

    【转】java.sql.* <wbr>和javax.sql.*





     

    图5-5 行集涉及的关系


    也可参照http://www.pgsqldb.org/twiki/bin/view/PgSQL/类和接口

    展开全文
  • 数据库操作的类均在java.sql包中,嗯~ o(* ̄▽ ̄*)o,java对数据库的操作封装了很多类 (基本上任何一种高级语言都会有其类库/函数库) 面向对象的高级语言会有对应的类库(对开发时常用的工具进行类的抽象) ...

    前言?

    数据库操作的类均在java.sql包中,嗯~ o(* ̄▽ ̄*)o,java对数据库的操作封装了很多类

    (基本上任何一种高级语言都会有其类库/函数库)

    面向对象的高级语言会有对应的类库(对开发时常用的工具进行类的抽象)

    面向过程的高级语言会有对应的函数库(对开发时常用的工具进行函数的封装)

    php这种高级语言既是面向对象也是面向过程的,同时对开发者提供了库函数,也提供了对应的类库

    同其高级语言相比,java也不例外,同样提供了对数据库操作的支持?

    java提供的对数据库操作的接口允许对不同的数据库来执行sql语句

    java语言提供了一组接口,没有提供实现类,这些实现类由各个数据库厂商提供实现,这些实现类就是驱动程序,

    当需要在数据库之间切换时,只要更换不同的实现类(即更换数据库驱动程序)就行

    下面以mysql数据库举例:

    java提供了一组数据库接口,但是都没有实现,因此到现在为止如果只用java的基础类库(操作数据库的)还是满足不了我们操作具体的数据库的,需要每个具体的数据库都对java的数据库操作接口提供各自的实现才能操作具体的数据库

    因此各个数据库厂商都对jdbc进行支持,提供了各自操作数据库的实现类,以java的数据库操作接口为基准,规范

    下面看一下mysql数据库对java的数据库操作接口的实现类:

    将此jar包解压,我们可以发现嗯~ o(* ̄▽ ̄*)o,哇,都是java的数据库接口的实现类哦

    不知到大家有没有这样的思考?

    我们每天编程必不可少的应用java为我们提供的操作数据库的接口和各个数据库厂商为我们提供的数据库操做的实现类,大家知道为什么我们简单的几句便实现了数据库的访问吗?为什么我们要用不同的实现类?我们为什么可以通过java程序可以实现对数据库的操作呢?

    为什么我们用高级语言的操作上附带了sql操作,就可以实现对数据库的操作了呢?

    其实这其中有许多底层的东西,首先我们用高级语言操作了数据库,如果想要操作不同的数据库我们必须提供相应的对高级语言操作此数据库的支持

    因此数据库驱动程序jar包(类库)是高级语言和数据库之间的连接韧带

    有了数据库驱动程序,高级语言才有对相应数据库操作的支持,即数据库驱动程序负责将高级语言对数据库的操作解释为对数据库的相应操作,将数据库的返回结果映射给高级语言

    高级语言对数据库的操作-----------------------------------数据库驱动程序-----------------------------------------------数据库

    数据库驱动都有什么类型的呢?

    1纯java的,是目前最流行的驱动,我们用的各种数据库的驱动程序的jar包

    2jdbc-odbc桥数据库驱动

    3为applet访问数据库而生的数据库驱动

    还记得那些数据库对sql语句的扩展吗?

    sqlserver对sql语句提供了扩展 ,Transact-Sql,同时提供了对应的数据库函数

    oracle对sql语句提供了扩展,pl/sql,同时提供了对应的数据库函数

    mysql数据库以提供了对sql语句的扩展,同时提供了对应的数据库函数

    这里想说一句,如果你想实现数据库应用程序可以跨数据库运行,则因该尽量使用标准的sql

    mysql数据库的两种存储引擎?

    myisam:早期mysql数据库默认的存储引擎

    innodb:后期mysql数据库默认的存储引擎,提供了对事务的支持,,事务支持是java ee最重要的特性,因此做java ee开发时一般选用innodb存储引擎

    mysql数据库的数据对象?

    表/约束/视图/索引/函数/存储过程/触发器

    table/constraint/view/index/function/procedure/trigger

    约束

    NOT NULL/ UNIQUE() /PRIMARY KEY()/ FOREIGN KEY()referrence tablexx()/ CHECK()

    虚表dual?

    mysql和oracle目前均支持虚表,这个表没有什么含义,只是用来做from后的占位符而已

    组函数?

    sum()  count() min() max() avg()

    集合运算?

    对select的查询结果集进行交运算,并运算,差运算

    要求进行集合运算的两个结果集包含的数据列个数相同,并且类型一致

    select 语句 union select 语句

    select 语句 minus select 语句---------------------------------mysql不支持

    select 语句 intersect  select 语句---------------------------------mysql不支持

    jdbc实现了什么设计模式?

    桥接模式:

    定义 :将抽象部分与它的实现部分分离,使它们都可以独立地变化。

    意图 :将抽象与实现解耦。

    jdbc为所有的数据库厂商提供了统一的接口,由数据库提供商进行具体的实现,体现了抽象与实现分离,这就是桥接模式的体现

    展开全文
  • Java.sql API详解

    千次阅读 2018-10-19 22:18:37
    Java中对数据库的操作要使用的接口【对于数据库的操作支持Java只提供了接口】全部都在java.sql 包中 操作步骤 一:获取连接 Interface Connection: 是与数据库之间的通道 获取连接 Connection conn =...
  • java.sql 包的应用

    千次阅读 2014-03-10 13:26:30
    java.sql 包中定义的 Driver 接口是所有 JDBC 驱动程序必须实现的接口。 在程序中要连接数据库, 必须先加载特定厂商提供的数据库驱动程序。几种主要的数据库驱动程序加载代码如下所示: Class.forName("oracle...
  • java.sql包中定义了jdbc接口的各个类 Driver:驱动接口 public interface Driver { Connection connect(String url, java.util.Properties info) throws SQLException; boolean acceptsURL(String url)...
  • JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人...
  • java.sql包中的PreparedStatement 接口继承了Statement,并与之在两方面有所不同 在数据库的操作过程中,PreparedStatement 对象是一个很不起眼但是记为重要的接口对象,它继承 于Statement,并与之在两方面有所...
  • java JDBC(一):JDBC概述、数据库连接

    千次阅读 2014-05-07 12:11:40
    在JDBC中的所有类和接口都定义在了java.sql包中,在此包中定义了大量的接口。 实际上JDBC是一套标准,那么所有的数据库生产厂商,只要是想支持java,则肯定要符合JDBC规范。 JDBC的主要操作类及接口:     ...
  • JDBC 基础概念

    2017-01-09 19:29:00
    3.JDBC API:提供程序员调用的接口和类,集成在java.sql和javax.sql包中。如:DriverManager类(管理不同的JDBC驱动)、Connerction接口、Statement接口、ResultSet接口 4.JDBC API主要功能:与数据库建立连接、...
  • JDBC的全称是Java DataBase Connectivity,它是一种被用于执行SQL语句的JavaAPI(API,应用程序设计接口),通过使用JDBC,就可以使用相同的API访问不同的数据库,需要注意的是,JDBC并不能直接访问数据库,必须依赖...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的...
  • Java JDBC入门之一: 基础知识和通过Driver接口获取数据连接   目录 一、数据持久化(persistence) 二、java中的存储技术 JDBC基础  JDBC体系结构  JDBC驱动程序分类  ODBC JDBC-ODBC桥  部分本地API...
  • 定义了一些接口java.sql包),各个数据库厂商实现接口。 Connection,Statement,ResultSet 前提步骤: 首先要在官网下载对应的驱动程序jar包,jar包中的类实现JDBC接口(如:sqlsever2005 jdbc driver download...
  • 12.包【Java温故系列】

    2020-05-21 14:09:21
    Java中包的相关知识
  •  简单看了一下Hibernate的相关源码,原来由Hibernate返回的blob对象实际上是代理类SerializableBlobProxy的实例,提供了java.sql.Blob接口定义的方法(实际上是通过反射的方式),表现得像是个实现java.sql.Blob...
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java ...
  • JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API...
  • JAVA通过JDBC操作MySQL数据库(二):Statement接口操作数据库JAVA项目配置MySQL驱动文件驱动文件下载配置驱动文件连接数据库(Connection接口)操作数据库(Statement接口JAVA项目配置MySQL驱动文件 JDBC是JAVA...
  • java.sql Package 包含的内容

    千次阅读 2008-01-02 13:51:00
    java.sql 包中包含用于以下方面的 API: 通过 DriverManager 实用程序建立与数据库的连接 DriverManager 类:建立与驱动程序的连接 SQLPermission 类:当代码在 Security Manager(比如 applet)中运行时提供权限,...
  • 在@FeignClien(“XX”) 接口类中,检查每个方法的参数定义时: 是否有如下情形 @RequestMapping(value="/XXX/query", method = RequestMethod.GET) public PageResult<XXutionResp> query(@RequestParam...
  • 第一次做这种对接外部(第三方)接口的开发。记录一下: 介于保密的原因,外部接口就不公开了。我的需求是根据第三方提供的接口,查询数据。但是我的请求是包含了sql语句的。类似于下面这样的URL: ...
  • Sun公司写java.sql包中接口的初衷就是为了方便开发人员,让开发人员能够只用一套规范方式实现java与不同数据库的交互。java.sql.*是Sun公司提供的规范的万能API,而mysql.jdbc.*只是MySQL AB公司为了响应Sun...
  • 深入了解java中的包和继承

    千次阅读 多人点赞 2021-02-19 17:22:03
    java是单继承的,也就是 只能extends一个类 为了解决单继承问题,java引入了接口,在后面会继续学习接口 protected关键字 刚才我们发现, 如果把字段设为 private, 子类不能访问. 但是设成 public, 又违背了我们 ...
  • JDBC是一种可用于执行SQL语句的Java API(Application Porgramming Interface,应用程序接口),是连接数据库和Java应用程序的纽带。 JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口指定了...
  • 今天在使用hive-jdbc连接服务器的hive时,出现了一些问题,在这里记录一下解决的方法,首先肯定要在pom中引入hive-jdbc的依赖包,...java.lang.NoClassDefFoundError: org/apache/hive/service/cli/thrift/TCLIService
  • import关键字引入Java类库中的类: 1、import 语句的作用是:当某个类中想要引入不在同一个包中的某个类时,就需要通过 ...3、通过 import 语句可以引入Java类库中的类和接口; 当需要引入Java类库中的某个类...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,031
精华内容 14,012
关键字:

java.sql包中的接口

java 订阅