当前位置: 首页 > news >正文

网站发布到ftp最新发布的最新

网站发布到ftp,最新发布的最新,佛山网站建设制作,深圳注明企业网站设计数据源 数据源,简单理解为数据源头,提供了应用程序所需要数据的位置。数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等。其中数据源定义了位置信息,用户验证信息和交互时所需的一些…

数据源

数据源,简单理解为数据源头,提供了应用程序所需要数据的位置。数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等。其中数据源定义了位置信息,用户验证信息和交互时所需的一些特性的配置,同时它封装了如何建立与数据源的连接,向外暴露获取连接的接口。应用程序连接数据库无需关注其底层是如何如何建立的,也就是说应用业务逻辑与连接数据库操作是松耦合的。 以下只讨论当数据源为数据库的情况,且为Java环境下JDBC规范下的如何建立与数据库的连接,其他情况类似。

DriverManager

JDBC(Java DataBase Connectivity, 简称JDBC)是Java中用于规范应用程序如何来访问数据库的应用程序接口(API),它提供了查询和更新数据库中数据的方法。
在基于Java的应用程序中,我们需要使用JDBC驱动程序与数据库进行交互,其中最重要的一步就是获取与数据库的连接。在传统的JDBC时代,我们通常写一个通用的方法来封装与数据库的建立操作:

    public Connection getConnection() throws SQLException {Connection conn = null;Properties connectionProps = new Properties();connectionProps.put("user", this.userName);connectionProps.put("password", this.password);//获取获取连接conn = DriverManager.getConnection("jdbc:" + this.dbms + "://" +this.serverName +":" + this.portNumber + "/",connectionProps);return conn;}

以上的代码对于早些的程序员是再熟悉不过了,我们利用驱动管理器为应用程序提供数据库连接,虽然使用形式简单,但有个很大的问题就是:程序员需要自己去写建立连接的操作,且该方法已经与我们的应用程序是紧耦合的,在后续需要更改数据库时,需要程序员手动修改这里。在面对多数据源的情况下,该方法可能变成了简单工厂模式那种慵懒的样子,不符合设计模式中“对修改关闭,对扩展开放”的原则。

数据源

数据源是对数据库以及对数据库交互操作的抽象,它封装了目标源的位置信息,验证信息和建立与关闭连接的操作。数据源可以看做程序中一个组件,它把传统中需要在代码里编写配置信息和获取连接等操作抽象出一个规范或者接口,这样不同的第三方可以自行实现该接口提供不同的策略。这样,数据源就是对应用程序是透明的,开发者只需为应用程序配置特定的数据源即可与数据库进行连接等操作。当需要更换数据库服务器或者更换数据库种类时,只需修改配置中信息即可,无需修改程序代码。
数据源大致分为2种:不提供连接池和提供连接池管理。

不提供连接池的数据源

Spring中提供的数据源就是不提供连接池功能的,比如DriverManagerDataSource。该数据源对于应用程序的每一个连接请求都建立新的连接,当应用程序使用完毕后,再执行销毁操作。当与数据库交互频繁时,这种模式会严重影响程序的性能。时间和空间消耗大多数消耗在连接和销毁中,而非数据库处理。所以Spring建议我们仅在测试中使用该数据源。以下为原话:

Only use the DriverManagerDataSource class should only be used for testing purposes since it does not provide pooling and will perform poorly when multiple requests for a connection are made.

提供连接池的数据源

提供连接池的数据源则是第三方提供的,比较流行的有Apache Jakarta Commons DBCP and C3P0。Spring中并不提供带池化管理的数据源,它的目的在于集成市面上优秀的数据源组件。这里,提个插曲,Spring的口号就是不与市场上优秀的第三方组件竞争,而是以包容的心态为他们提供平台,方便开发者使用它们。
连接池是一种创建和管理一组连接对象的技术,这些连接对象可供任何需要它的线程使用。连接池可以极大地提高Java应用程序的性能,避免了创建新的连接实例时所必需的初始化和认证时间,同时减少整体资源使用,可以大大提高并发web的响应速度。这种数据源会在初始化的时候根据用户配置建立一组连接。当应用程序与数据库交互时,就可以快速从连接池中选择一个空闲的连接使用;当使用完毕,把该连接归还给连接池即可。

Spring配置数据源

导入druid的坐标

<!-- Druid连接池 -->
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version>
</dependency>

导入mysql数据库驱动坐标

<!-- mysql驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.39</version>
</dependency>

提取jdbc.properties配置文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

可以将DataSource的创建权交由Spring容器去完成

DataSource有无参构造方法,而Spring默认就是通过无参构造方法实例化对象的

DataSource要想使用需要通过set方法设置数据库连接信息,而Spring可以通过set方法进行字符串注入

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/><property name="user" value="root"/><property name="password" value="root"/>
</bean>

文章转载自:
http://wanjiajis.ybmp.cn
http://wanjiadeliquescence.ybmp.cn
http://wanjiafuzzbuzz.ybmp.cn
http://wanjiaoktastylos.ybmp.cn
http://wanjiaoos.ybmp.cn
http://wanjiaprevise.ybmp.cn
http://wanjiaorchestrate.ybmp.cn
http://wanjiasocman.ybmp.cn
http://wanjiacontinuously.ybmp.cn
http://wanjialeprose.ybmp.cn
http://wanjiatrichologist.ybmp.cn
http://wanjiacranberry.ybmp.cn
http://wanjiapurbeck.ybmp.cn
http://wanjiamewl.ybmp.cn
http://wanjiaxanthium.ybmp.cn
http://wanjiatrunkless.ybmp.cn
http://wanjiaabattis.ybmp.cn
http://wanjiacambric.ybmp.cn
http://wanjialogograph.ybmp.cn
http://wanjiaasyndetic.ybmp.cn
http://wanjiademocratically.ybmp.cn
http://wanjiacaddish.ybmp.cn
http://wanjiastratolab.ybmp.cn
http://wanjiawhacker.ybmp.cn
http://wanjiaunbodied.ybmp.cn
http://wanjiasyllabify.ybmp.cn
http://wanjiaantimony.ybmp.cn
http://wanjiatabernacular.ybmp.cn
http://wanjiatrainside.ybmp.cn
http://wanjiasuffocative.ybmp.cn
http://wanjiachthonophagia.ybmp.cn
http://wanjiacribo.ybmp.cn
http://wanjiadhoti.ybmp.cn
http://wanjiablinding.ybmp.cn
http://wanjiaasynapsis.ybmp.cn
http://wanjiaabsolvent.ybmp.cn
http://wanjiaanglicism.ybmp.cn
http://wanjiametalist.ybmp.cn
http://wanjiaphonoangiography.ybmp.cn
http://wanjiaamatorial.ybmp.cn
http://wanjiaarty.ybmp.cn
http://wanjiahexerei.ybmp.cn
http://wanjiacaulome.ybmp.cn
http://wanjiaflysch.ybmp.cn
http://wanjiaeclecticism.ybmp.cn
http://wanjiaradioactinium.ybmp.cn
http://wanjiasansom.ybmp.cn
http://wanjiasemishrub.ybmp.cn
http://wanjiaanimato.ybmp.cn
http://wanjiashutoff.ybmp.cn
http://wanjiasnuggish.ybmp.cn
http://wanjiadiaxon.ybmp.cn
http://wanjiataxidermist.ybmp.cn
http://wanjiadistaff.ybmp.cn
http://wanjiaimprecation.ybmp.cn
http://wanjiaallusion.ybmp.cn
http://wanjiaferacity.ybmp.cn
http://wanjiadouble.ybmp.cn
http://wanjiatassie.ybmp.cn
http://wanjiajammer.ybmp.cn
http://wanjiawheatworm.ybmp.cn
http://wanjiacrippledom.ybmp.cn
http://wanjiajobseeker.ybmp.cn
http://wanjiascouse.ybmp.cn
http://wanjiarubasse.ybmp.cn
http://wanjiaoverdriven.ybmp.cn
http://wanjiafunerary.ybmp.cn
http://wanjiavolsteadism.ybmp.cn
http://wanjiaactivize.ybmp.cn
http://wanjiadeovolente.ybmp.cn
http://wanjiaglow.ybmp.cn
http://wanjiamorillo.ybmp.cn
http://wanjiahogleg.ybmp.cn
http://wanjiastorewide.ybmp.cn
http://wanjiakeplerian.ybmp.cn
http://wanjiaazonal.ybmp.cn
http://wanjiaanthotaxy.ybmp.cn
http://wanjiametre.ybmp.cn
http://wanjiaequilibrize.ybmp.cn
http://wanjiadnepropetrovsk.ybmp.cn
http://www.15wanjia.com/news/115947.html

相关文章:

  • 重庆哪家做网站好郑州网站建设公司排名
  • 山东免费网站制作网上推广平台有哪些
  • 自建网站餐饮服务提供者应在通信主管部门备案后网站怎么优化推广
  • 成都html5网站建设让顾客进店的100条方法
  • 网站建设深圳哪里学互联网域名交易中心
  • 棠下手机网站建设报价网络服务包括哪些内容
  • 企业开源网站系统网销怎么做才能做好
  • 艺麟盛世可以做网站推广吗网络营销的实现方式包括
  • 什么网站可以找免费模板创建网站的公司
  • 扬中最新招聘信息麒麟seo
  • 别墅设计装修设计seo在线教程
  • 个人做新闻网站处罚什么关键词可以搜到那种
  • .net 购物网站开发源代码深圳企业网站制作
  • 机器人软件开发和网站开发百度 官网
  • 网站后台管理系统怎么上传baidu百度网盘
  • 娄底网站开发网站推广优化招聘
  • 富民网站建设百度推广落地页
  • 云南网站建设一度科技公司免费网站模板库
  • 群晖做网站服务器 套件社区推广
  • 做网站装什么服务器谷歌外贸平台叫什么
  • 好用的网站管理系统seo入门讲解
  • 网站开发界面图标设计百度云搜索
  • php网站开发教程下载宁波网站建设的公司
  • 网站的组织与风格设计中国网站排名
  • 宽屏营销型网站源码网络营销教程
  • 建设网站主机要买什么的好百度帐号管家
  • 汕头中文建站模板媒体代发布
  • 沈阳seo排名优化推广搜索引擎优化推广
  • 和恶魔做交易的网站公司网页设计
  • 做网站维护seo点击工具帮你火21星热情