javax.sql.DataSource
来源:互联网 发布:java设计模式uml 编辑:程序博客网 时间:2024/06/07 04:07
javax.sql.DataSource是一个用于连接到数据源对象所表示的物理数据源的工厂
作为驱动程序管理器工具的另一种选择,DataSource对象是获得连接的首选方法。实现数据源接口的对象通常是注册一个命名服务基于Java™API命名和目录(JNDI)。
数据源接口由一个驱动程序供应商实现。有三种类型的实现:
- 基本实现——生成一个标准连接对象
- 连接池实现——生成一个连接对象,该对象将自动参与连接池。此实现与中间层连接池管理器一起工作
- 分布式事务实现——生成一个用于分布式事务的连接对象,并且几乎总是参与到连接池中。该实现与中间层事务管理器一起工作,几乎总是使用连接池管理器
DataSource对象在必要时可以修改。例如,如果数据源被移动到一个不同的服务器,那么服务器的属性就可以被更改。这样做的好处是,任何访问该数据源的代码都不需要更改。
通过DataSource对象访问的驱动程序不会在驱动程序管理器中注册。相反,通过查找操作检索数据源对象,然后使用它创建一个连接对象。通过一个基本的实现,通过DataSource对象获得的连接与通过驱动管理器工具获得的连接是相同的。
★数据源的实现必须包括一个公共的无参数构造函数。
在context.xml里配置信息如下:
<?xml version="1.0" encoding="UTF-8"?><Context path="" docBase="" debug="0" reloadable="true"> <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.DataSource" maxTotal="10" maxIdle="10" maxWaitMillis="200000" username="test" password="test" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb?useSSL=false&autoReconnect=true"> </Resource></Context>
连接数据库代码如下:
package com.testJDBC.utils;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;import java.sql.Connection;import java.sql.SQLException;public class DBConnection { public static final String dataSourceName = "jdbc/MySQL"; public static DataSource getDataSource() throws NamingException { Context initContext = new InitialContext(); DataSource dataSource= (DataSource)initContext.lookup("java:comp/env/" + dataSourceName); return dataSource; } public static Connection getDataSourceConnection() throws SQLException, NamingException { return getDataSource().getConnection(); }}
参考:
http://docs.oracle.com/javase/7/docs/api/javax/sql/DataSource.html
阅读全文
1 0
- javax.sql.DataSource接口
- javax.sql.DataSource接口
- javax.sql.DataSource
- javax.sql.DataSource之api学习
- Cannot unwrap to requested type [javax.sql.DataSource]
- Cannot unwrap to requested type [javax.sql.DataSource]
- Cannot unwrap to requested type [javax.sql.DataSource] 的解决办法
- Cannot unwrap to requested type [javax.sql.DataSource]
- Cannot unwrap to requested type [javax.sql.DataSource]
- Cannot unwrap to requested type [javax.sql.DataSource] 的解决办法
- Cannot unwrap to requested type [javax.sql.DataSource]
- Cannot unwrap to requested type [javax.sql.DataSource]
- Cannot unwrap to requested type [javax.sql.DataSource] 解决
- Cannot convert value of type [java.lang.String] to required type [javax.sql.DataSource] for property 'dataSource': no matching e
- NoClassDefFoundError: javax/activation/DataSource解决方法
- spring中JUnit4测试中,AbstractTransactionalJUnit4SpringContextTests报错关于javax.sql.DataSource
- 配置Spring Cannot convert value of type [java.lang.String] to required type [javax.sql.DataSource]
- spring和hibernate整合的时候一个错误Cannot unwrap to requested type [javax.sql.DataSource]
- MIME 参考手册
- 解决三星note3调用系统拍照后程序崩溃或无法获取图片
- android第三方视频解码器Vitamio SDK使用后的感觉(2014.03.11)
- 多线程
- 需要学习的内容
- javax.sql.DataSource
- spring-cloud 之ClassNotFoundException: org.springframework.cloud.context.named.NamedContextFactory
- 记第一篇博客
- hdu3045 斜率优化
- Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜
- 学习自动化测试的一些总结
- 数学建模|机器学习|主成分分析原理(PCA)
- 使用Python几个库打造自己的REPL
- iOS汇编教程