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

海口网站开发师招聘php免费开源建站系统

海口网站开发师招聘,php免费开源建站系统,网站里面发消息怎么做超链接,做网站niche数据源 数据源,简单理解为数据源头,提供了应用程序所需要数据的位置。数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等。其中数据源定义了位置信息,用户验证信息和交互时所需的一些…

数据源

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

相关文章:

  • 老师教学生做网站吗企业宣传网站模板下载
  • 北京做网站比较好的公司wordpress免费的模板下载
  • 网站建设沧州优化科技
  • discu论坛网站模板app定制开发网站制作
  • 自建企业网站教程怎么设计一个网站
  • 滨州哪里做网站北京海淀公司注册
  • 邯郸网站建设怎么开发南头专业英文网站建设公司
  • 上海地区网站设计做网站办的营业执照用交税吗
  • 扁平化的网站有哪些冯耀宗seo视频教程
  • 广州做网站找酷爱网络龙城街道横岗街道
  • 网站搭建介绍如何做微信官方网站
  • 专门做项目代理的网站公司网站建设会计你分录
  • 如何在图片上做网站水印图建站基础
  • 有自己的域名怎么建立网站那些网站做任务能赚钱
  • 行业网站建设收费明细帝国cms企业门户网站仿站视频教程 网盘
  • 桐乡做网站编写html的软件有哪些
  • 网站内容与目录结构怎么做网页快
  • 做网站的桔子什么网站介绍怎么写范文
  • seo网站建设凡度网络北京网站建设公司
  • 建设共享经济网站的可行性浙江城乡建设信息港
  • iis配网站网站建设公司薪资
  • 如何利用网站来提升企业形象网站开发浏览器的使用
  • 做外贸网站咨询系统开发需要的技术
  • 专业的广州手机网站建设泰安网站建设公司
  • zencart网站管理 1.5免费网站模板 怎么用
  • 网站开发 页面功能布局云游戏网站在线玩
  • 曲靖网站建设公司靖网站建设旅游网站 分析
  • 购物网站建设 成都成都高端网站开发
  • 专业整站优化手机淘宝网页版
  • 网站开发公司上海wordpress主题投稿