千家信息网

DB的连接方式练习

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,Today,测试java DB的连接方式。目前就我所知了解的有两种:jdbc代码链接dataSource 链接下面来详细了解一下这两种连接方式第一种 JDBC连接,对此我们需要了解一下JAVA的相关类
千家信息网最后更新 2024年11月23日DB的连接方式练习

Today,测试java DB的连接方式。

目前就我所知了解的有两种:

  1. jdbc代码链接

  2. dataSource 链接

下面来详细了解一下这两种连接方式

第一种 JDBC连接,对此我们需要了解一下JAVA的相关类 javax.sql类

软件包 javax.sql

为通过java 编程语言进行的服务器端数据源访问和处理提供API

接口摘要

CommonDataSource 此接口定义在DataSource 、XADataSource 和 ConnectionPollDataSource 之间共用方法

1.所有子接口 ConnectionPoolDataSource DataSource XADataSource

2.方法摘要

a. int getLoginTimeout() 获取此数据源试图连接到某以数据库时可以等待的最长时间,一秒位单位

b.PrintWriter getLogWriter() 获取此DataSource 对象日志 write.

c.void setLoginTimeout(int seconds) 设置此数据源试图连接到某以数据库时将等待的最长时间,一秒为单位

d. setLogWriter(PrintWriter out) 将此DataSource 对象的日志writer设置为给定的java.io.PrintWriter

以上是超级接口CommonDataSource的方法,以及已知的子接口

下面说说三个子接口

  1. ConnectionPoolDataSource

    1. PooledConnection对象工厂

    2. 方法是继承了父类CommonDataSource的方法 getLoginTimeOut setLoginTimeOut setLogWriter getLogWriter,自己的方法有:

      1. PooledConnection getPooledConnection()尝试建立可用作入池连接的物理数据库连接

      2. PooledConnection getPooledConnection(String usr,String password)尝试建立可用作入池连接的物理数据库连接

  2. 接口DataSource

    1. DataSource 这个接口不仅继承了CommonDataSource 还 继承了Wrapper

    2. 该工厂用于提供到此DataSource 对象所表示的物理数据源的连接。作为DriverManager 工具的替代项,DataSource 对象是获取连接的首选方法。实现DataSource接口的对象通常在基于Java Naming and Directory Interface (JNDI) API的命名服务中注册。

    3. DataSource 接口由驱动程序供应商实现。共有三种类型实现:

      1. 基本实现 - 生成标准的 Connection对象

      2. 连接池实现 - 生成自动参玉连接池的Connection对象,此实现与中间层连接池管理器一起使用

      3. 分布式事务实现 - 生成一个Connection 对象,该对象可用于分布式事务,大多数情况下总是参与连接池。此实现与中间层事务管理器一起使用,大多数情况下总是与连接池管理器一起使用。

      4. DataSource 对象的属性在必要的时候可以修改。列如,如果将数据源移动到另一个服务器,则可以更改与服务器相关的属性。其优点在于,由于可以更改数据源的属性,所以任何访问该数据源的代码都无需更改

      5. 通过DataSource对象访问的驱动程序本身不会向DriverManager注册 通过查找操作获取DataSource对象,然后使用该对象创建Connection对象 使用基本的实现,通过DataSource对象获取的连接与通过DriverManager设施获取的连接相同。

    4. DataSource自身的方法

      1. Connection getConnection() 尝试建立与此DataSource对象所表示的数据源的连接

      2. Connection getConnection(String username,String passward) 尝试建立与此DataSource对象所表示的数据源连接

      3. 继承的方法 CommonDataSource Wrapper,CommonDataSource上面有讲解就不再重复,说下Wrapper的方法

        1. boolean isWrappseFor(Class iface)



0