数据源与JDBC直连数据库的差异性是什么?数据源有哪些优势?

数据源与JDBC直连数据库的差异性是什么?数据源有哪些优势?,第1张

先说说题外话,你问这个问题,说明你在这个领域打拼还不久,因为对一些概念还不清晰,不过持续百度知道,多涉猎涉猎,你就能成为高手。

首先,JDBC直连数据库,也称为数据源,是数据源的一种方式。

其次,我猜测你理解的数据源,可能有2种:

1)连接池框架实现的数据源,譬如C3P0等等

2)应用服务器上配置的数据源,譬如IBM WAS、tomcat上均可以配置JNDI数据源

最后,我简单说明下这2种和JDBC直连的区别:

1)利用连接池框架,数据源连接后,如果不使用,可以暂时放到池中,不关闭连接,而直连是每次创建新的连接,使用完毕后,手工去关闭,下次要使用,再次创建、关闭。连接池框架实现了池的缓存能力后,就无需这样了。

2)在服务器上创建JNDI数据源,这样做的原因是将开发工程师和WAS平台运维工程师的工作区分开,防止数据库连接信息的泄露,保证信息安全。开发工程师无须知道数据库的相关信息,只要在程序中使用JNDI数据源的名称即可。WAS平台工程师在WAS上配置该JNDI数据源。

原理上和网站的一个session差不多,只是session是把key放在cookie里面,数据库连接是把key放在客户端的library的内存里(比如.Net Sql Client)。对MS SQL来说,这个连接的协议叫TDS,底下可以走多种传输层协议,比如tcpip,也可以named pipe。而MySQL就又有自己的协议。当然在拿到key之前,先要走个authentication过程,比如Windows Authentication或者Sql authentication,过了authentication才会产生一个session key。如果是启用SSL的话那么整个连接上的数据流还会被加密,防止信息泄露或者中间人攻击。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9636834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存