[问题] java程式操作连线池的问题

楼主: lueichun (no anonymous)   2015-03-21 00:48:16
如果现在想要在java程式连线到数据库
除了使用JDBC API
也可以设定连线池取得连线
我的理解是先在context.xml加入这几行设定:
https://www.dropbox.com/s/x1t2l71imsy53qa/%E6%93%B7%E5%8F%96103.png?dl=0
用来设定连线到数据库的资讯与连线池的设定
但是我不是很清楚在这边设定数据库连线资讯
跟用JDBC API的方式来连线差在哪里(是因为效能的关系吗)
而且我也不是很懂连接数据库的资讯跟连线池的设定
为何可以被包在同一个tag里,一起做设定
因为数据库跟连线池应该是两个分开的部分
然后设定name="jdbc/xxxx"的部分,google到的说法是要设定jndi name
jndi name是可以理解成:
java程式为取得连线池的连线以连接数据库
所以程式必须利用jndi name找到连线池
以取得连线吗
这样的话以下在web.xml里的设定:
https://www.dropbox.com/s/u82pyuph48ye58i/%E5%9C%96%E7%89%871.png?dl=0
这里又重复设定一次jndi name
我就不懂了,不懂这里再打一次的目的是什么
最后在java程式里面
产生dtasource物件并取得连线
code长这样:
https://dl.dropboxusercontent.com/u/63402326/%E5%9C%96%E7%89%872.png
datasource物件之后会call getConnection取得连线
只是我觉得一个datasource不是表示一个数据库吗
数据库内含取得连线池连线的方法(getConnection)
感觉不太自然,毕竟数据库跟连线池是两个分开的东西
希望有大大可以解惑(套色部分),谢谢
作者: mars90226 (火星人)   2015-03-21 00:59:00
你的套色该不会是手动打色码?那个esc你是打不出来的...
作者: haha02 (来人!上夹棍!)   2015-03-21 01:17:00
web.xml是属于专案的 context.xml是属于服务器的 后者宣告前者引用 所以两边都要写 但是某些容器实作可以省略前者datasource的部分你的理解不太对 可以看一下javadoc的说明
作者: MonyemLi (life)   2015-03-21 01:23:00
各connection pool实作的datasource也叫呼叫JDBC API提供一个 pool效果的jdbc连线的资料来源JNDI--> Java Naming and Directory Interface

Links booklink

Contact Us: admin [ a t ] ucptt.com