1.常用类或接口介绍

1.DataSource接口

通过javaAPI中javax.sql.DataSource接口注释了解。

1.DataSource功能

如下图:

翻译

  DataSource对象代表一个连接到物理数据源的工厂。在寻找DriverManager的替代方案时,发现DataSource是替代DriverManager获得连接的最好选择。实现DataSource接口的对象通常会注册到基于JNDI的命名服务当中。

了解JNDI请跳转至https://blog.csdn.net/wn084/article/details/80729230

2.DataSource接口实现

 翻译

  DataSource接口由驱动提供商实现。有3种类型的实现:

  《1》基本实现:提供一个标准java.sql.Connection对象

  《2》连接池实现:提供一个java.sql.Connection对象,这个Connection对象自动被放到连接池中。此实现与中间层连接池管理器一起工作。

  《3》分布式事务实现:提供一个java.sql.Connection对象,该对象可用于分布式事务,并且几乎总是参与连接池。此实现与中间层事务管理器一起工作,并且几乎总是与连接池管理器一起工作。

总结

  实现了DataSource接口的数据源有DBCP、C3P0、Druid、Proxool。

  spring项目推荐使用DBCP;Hibernate 推荐使用c3p0和proxool。

  每个数据源的特点介绍请跳转至https://blog.csdn.net/weixin_37377718/article/details/69666627###

3.DataSource相比DriverManager的优点

 翻译

  DataSource对象具有可修改的属性必要时。例如,如果将数据源移动到其他服务器,则可以更改服务器的属性。这样做的好处是,因为可以更改数据源的属性,所以访问该数据源的任何代码都不需要更改。

4.DataSource实现原理

 翻译

  通过DataSource对象访问的驱动程序不会向DriverManager注册自身。更确切地说,是DataSource通过查找操作检索对象然后用于创建Connection对象。对于基本实现,通过DataSource对象获得的连接与通过DriverManager工具获得的连接相同。

5.注意事项

实现DataSource接口时必须创建一个无参构造器。

DataSource接口只有两个方法:getConnection()与getConnection(String userName,String userPassword)

javax.sql.DataSource的功能就是获取连接。

2.DriverManager类

该类位于java.sql包。

下面通过源码注释了解一下DriverManager。

1.功能介绍

翻译

  DriverManager管理一组jdbc驱动程序的基本服务。注意:javax.sql.DataSource是新的JDBC2.0的API,提供了连接到数据源的其他方式。推荐使用DataSource连接到数据源。

总结

  DriverManager是比较早的用于获取数据库连接的类,而DataSource是用于替代DriverManager的。

2.DriverManager方法介绍

主要方法就是获取连接、注册驱动(不常用)。

3.Connection接口

该类位于java.sql包。

1.功能介绍

翻译:

  Connection代表连接到了一个特定的数据库。通过Connection对象可以执行SQL语句并从数据库获得执行结果。

最新文章

  1. Linux下面安装rpm包
  2. 理解PagerAdapter的instantiateItem()方法
  3. Excel应该这么玩——7、我是预言家:绘制趋势图
  4. 【web前端面试题整理01】各位加班累了吧,来做点前端面试题吧
  5. Android中各种Drawable总结
  6. Java关键字——transient
  7. Open vSwitch流表应用实战
  8. Windows完成端口网络模型
  9. Node.js 连接 MySQL 并进行数据库操作
  10. HTML的Get方法URL传递中文参数,解决乱码问题
  11. [USACO08JAN]haybale猜测Haybale Guessing
  12. 使设备I/O的核心模块工作,有哪两种方式?
  13. Spring AOP 切点(pointcut)表达式
  14. DevExpress 控件汉化代码和使用方法
  15. 微软BI 之SSIS 系列 - 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式
  16. Lineage逻辑回归分类算法
  17. MongoDB学习路线
  18. 《算法》第四章部分程序 part 5
  19. VC++深入详解-第四章学习心得
  20. Java中的异常处理:何时抛出异常,何时捕获异常,何时处理异常?

热门文章

  1. 2019暑期金华集训 Day1 数据结构
  2. hadoop--presto安装部署
  3. 配置了ssh免密登录还是提示权限不足怎么解决
  4. 配置 阿里云ECS Ubuntu 16.04 64bit 桌面环境
  5. 图片上传利用request.getInputStream()获取文件流时遇到的问题
  6. TP框架修改后台路径方法
  7. FLYAI
  8. DataSync 异构数据同步
  9. ijkplayer相关
  10. Python中的子进程并发