DataSource的连接方式和getconnection到底有什么区别?
两种方式都试过了,有人说DataSource方式好一些,这两种方式到底有什么区别了?

解决方案 »

  1.   

    区别在于关闭。ds 默认会重用连接,所以不会真正的close掉物理连接的
    而 con 则会真的关闭这样下次再获得连接, ds 可以马上提供,而 con 则需要向数据库再次申请一个新的。新建一个链接是很耗资源的。
      

  2.   

    通过 DateSource获得Connection
      

  3.   

    换数据库时,DataSource修改一下配置就行了
      

  4.   

      传统的数据库连接方式getConnection(指通过DriverManager)中,一个数据库连接对象均对应一个物理数据库连接,数据库连接的建立以及关闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中这种耗费资源的动作对系统的性能影响尤为明显
      

  5.   

      在多层结构的应用程序中通过DataSource的连接方式,连接池(connection pooling)技术可以使系统的性能明显得到提到,连接池意味着当应用程序需要调用一个数据库连接的时,数据库相关的接口通过返回一个通过重用数据库连接来代替重新创建一个数据库连接。通过这种方式,应用程序可以减少对数据库连接操作,尤其在多层环境中多个客户端可以通过共享少量的物理数据库连接来满足系统需求。通过连接池技术Java应用程序不仅可以提高系统性能同时也为系统提高了可测量性。
      

  6.   

    是不是说以后的开发都用DataSoure了,不需要con方式了?
      

  7.   

    这要看情况而定了,要是你的数据库访问人数比较少,倒没有多大差别。
    这时一般jdbc 的连接方式比较常用,因为编程人员比较熟悉。