首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • [向java2000_net提问]请问JAVA连接数据库为什么要配置数据源,有什么好处? [已结帖,结帖人:ybyb14]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ybyb14
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-07-13 00:01:30 楼主
    以前连SQL SERVER2000的时候要在控制面板中配置数据库,要不然就连不上数据库.
    后来一直使用My sql就没有再使用过数据源了.
    昨天看别人做程序,看到在TOMCAT的WEB.XML文件中配置数据源,不知道这样做的意义何在?有什么好处?
    本人才疏学浅,望高手指点!谢谢!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • java2000_net_test
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 00:01:491楼 得分:5
    该回复于2008-08-01 05:21:11被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ybyb14
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 00:17:342楼 得分:0
    马甲一样有分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • java2000_net
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

    发表于:2008-07-13 04:52:463楼 得分:30
    主要是方便管理
    1 你肯定要链接数据库
    2 那么你肯定要用户名和密码
    3 正式的数据库和应用服务器应该是单独的人员管理,而不是开发人员
    4 密码会定期修改
    5 如果链接数据库是各自书写代码和配置,则运行环境的密码修改将会是一个噩梦,一不小心就忘记一个
    6 所以,大家全部到一个数据源那里获取连接。管理员只需要修改数据源的配置,而无需修改应用的配置
    7 如果数据库的地址变更,则同样不会影响到应用,也只是修改数据源
    8 开发人员无需知道正式数据库的密码

    OVER
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Mailbomb
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 07:59:274楼 得分:5
    我觉得还是直接连的好,效率要高的,去下个专门的SQL SERVER的JDBC驱动
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qingbt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 08:02:005楼 得分:5
    目前的数据源都是基于数据库连接池技术的,通过连接池连接数据库效率更高
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • java2000_net
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

    发表于:2008-07-13 08:07:536楼 得分:0
    引用 4 楼 Mailbomb 的回复:
    我觉得还是直接连的好,效率要高的,去下个专门的SQL SERVER的JDBC驱动


    通过数据源,效率没有损失。可以起看看连接池的代码,她只修改了一点点代码而已。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tteesstt
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 08:44:457楼 得分:0
    引用 5 楼 qingbt 的回复:
    目前的数据源都是基于数据库连接池技术的,通过连接池连接数据库效率更高


    同意
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jdlsfl
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 09:04:068楼 得分:5
    数据库连接有通过jdbc odbc连接
    也可以jdbc直接连接
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tang3dashu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 09:11:019楼 得分:5


    1 在java程序中必须要配置下数据源 因为你的web容器里必须加载你的数据源。(可以是全局的,也可以是单独的数据源)
    2 数据源创建成功侯其实也就成为了一个连接池,他可以很方便的关类web用户访问数据库的连接问题。不过也有他自己的缺点。
    3 比如还有的报表工具的时候,他也需要配置数据源,来获得数据库的连接。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bao110908
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      4

    发表于:2008-07-13 11:47:1610楼 得分:40
    在控制面板那里配置数据源是采用 ODBC 的方式,这种是 JDBC 驱动程序的第一种类型。
    这种驱动的方式是通过 ODBC 驱动程序与数据库打交道,而我们在 Java 程序中再使用
    JDBC/ODBC 桥是将 JDBC 程序翻译成 ODBC 认识的东西。

    ODBC 数据源的方式是一种很古老的方式,速度不用去说了(因为通过桥的转换),现在
    一般很少使用了。当然了,如果某个数据库没有提供 JDBC 驱动程序,而只提供了 ODBC
    驱动的话,那还是可以使用这种方式的,比如 Access。

    而后面说到的在 web.xml 中配置的数据源与之前的 ODBC 数据源不是同一个概念,前者
    是 JDBC 规范中的接口,全称为 javax.sql.DataSource,而后者可以称之为一种 ODBC 驱
    动程序


    据 JDBC 规范所称,DataSource 是获得数据库连接对象 Connection 的首选方法,因为
    DataSource 一般都绑定在 JNDI 上,在代码中只通过 JNDI 的名称就可以获得该对这个对
    象,并且通过这个对象可以直接获得数据库连接。而这个名字就是在 web.xml 中配置的
    <res-ref-name> 中的名字,web.xml 中只是引用一下资源,在服务器上还得配置具体的参
    数,如 Tomcat 中是在 server.xml 中配置一下。这个 DataSource 是由 JDBC 驱动实现
    者实现的,在 Tomcat 中是使用 JNDI 来进行管理的,可以对其进行具体的配置,比如:
    连接池的最大、最小数量、超时时间等参数,这些是由 Tomcat 来管理的。

    DataSource 可以绑定在 JNDI 中只是一种方式,它还可以用于连接池的实现,比如:在
    C3P0 中也实现并扩展了 DataSource,用于管理数据库的连接对象。实际上 Tomcat JNDI
    上的数据源在内部也是采用 DBCP 的 DataSource 实现的。

    DataSource 在 JDBC 2.0 规范中作为可选的,在 3.0 中正式地纳入到 JDBC 规范中,下面
    这个是 JDBC 4.0 规范的下载地址,里面对 DataSource 有详细的描述,有兴趣的话可以去
    看看:

    http://jcp.org/aboutJava/communityprocess/final/jsr221/index.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sagezk
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 11:48:4711楼 得分:5
    首先你在控制面板中配置的数据源和在 Tomcat 的 server.xml 以及 Web 应用程序中的 web.xml 配置数据源没多大关系。
    其次如下:
    引用 3 楼 java2000_net 的回复:
    主要是方便管理
    1 你肯定要链接数据库
    2 那么你肯定要用户名和密码
    3 正式的数据库和应用服务器应该是单独的人员管理,而不是开发人员
    4 密码会定期修改
    5 如果链接数据库是各自书写代码和配置,则运行环境的密码修改将会是一个噩梦,一不小心就忘记一个
    6 所以,大家全部到一个数据源那里获取连接。管理员只需要修改数据源的配置,而无需修改应用的配置
    7 如果数据库的地址变更,则同样不会影响到应用,也只是修改数据源
    8 开发人员无需知道正式数据库的密码

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ybyb14
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 16:59:3612楼 得分:0
    谢谢各位!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinaboy2005
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 17:26:3413楼 得分:0
    用连接池更有效!~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wind_324
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-07-13 18:35:4914楼 得分:0
    呵呵 学习啦 感谢lz的提问
    修改 删除 举报 引用 回复