DB的连接方式练习
Today,测试java DB的连接方式。
目前就我所知了解的有两种:
jdbc代码链接
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的方法,以及已知的子接口
下面说说三个子接口
-
ConnectionPoolDataSource
PooledConnection对象工厂
-
方法是继承了父类CommonDataSource的方法 getLoginTimeOut setLoginTimeOut setLogWriter getLogWriter,自己的方法有:
PooledConnection getPooledConnection()尝试建立可用作入池连接的物理数据库连接
PooledConnection getPooledConnection(String usr,String password)尝试建立可用作入池连接的物理数据库连接
-
接口DataSource
DataSource 这个接口不仅继承了CommonDataSource 还 继承了Wrapper
该工厂用于提供到此DataSource 对象所表示的物理数据源的连接。作为DriverManager 工具的替代项,DataSource 对象是获取连接的首选方法。实现DataSource接口的对象通常在基于Java Naming and Directory Interface (JNDI) API的命名服务中注册。
-
DataSource 接口由驱动程序供应商实现。共有三种类型实现:
基本实现 - 生成标准的 Connection对象
连接池实现 - 生成自动参玉连接池的Connection对象,此实现与中间层连接池管理器一起使用
分布式事务实现 - 生成一个Connection 对象,该对象可用于分布式事务,大多数情况下总是参与连接池。此实现与中间层事务管理器一起使用,大多数情况下总是与连接池管理器一起使用。
DataSource 对象的属性在必要的时候可以修改。列如,如果将数据源移动到另一个服务器,则可以更改与服务器相关的属性。其优点在于,由于可以更改数据源的属性,所以任何访问该数据源的代码都无需更改
通过DataSource对象访问的驱动程序本身不会向DriverManager注册 通过查找操作获取DataSource对象,然后使用该对象创建Connection对象 使用基本的实现,通过DataSource对象获取的连接与通过DriverManager设施获取的连接相同。
-
DataSource自身的方法
Connection getConnection() 尝试建立与此DataSource对象所表示的数据源的连接
Connection getConnection(String username,String passward) 尝试建立与此DataSource对象所表示的数据源连接
-
继承的方法 CommonDataSource Wrapper,CommonDataSource上面有讲解就不再重复,说下Wrapper的方法
boolean isWrappseFor(Class iface)