热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:SSM框架搭建之数据库连接池

SSM框架搭建之数据库连接池(三)Spring提供了两个这样的数据源(都位于org.springframework.jdbc.datasourc
SSM框架搭建之数据库连接池(三)

Spring提供了两个这样的数据源(都位于org.springframework.jdbc.datasource程序包里):
DriverManagerDataSource:这个类实现了javax.sql.DataSource接口,但它并没有提供池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。因此,这个数据源类比较适合在单元测试 或简单的独立应用中使用,因为它不需要额外的依赖类。
SingleConnectionDataSource:在每个连接请求时都返回同一个连接。虽然它不同严格意义上的池管理数据源,但我们可以把它看作只有一个连接的池。
对两个数据源的配置都类似于配置DBCP的BasicDataSource,区别在于由于DriverManagerDataSource和SingleConnectionDataSource都没有提供连接池,所以在此没有设置池配置属性。
虽然这两个数据源都对于小程序来说是很不错的,而且还在不断发展,但把它们用于生产程序还是需要认真考虑的。SingleConnectionDataSource只使用一个数据库连接,所以不适合用于多线程程序。
而 DriverMangerDataSource虽然能够支持多线程,但它会在每次连接请求时都新建一个连接,这是以性能为代价的。由于这些限制,我们强烈 建议应该使用数据源池。
如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源 使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。

SSM框架之DriverManagerDataSource--spring-mybatis.xml


class="org.springframework.jdbc.datasource.DriverManagerDataSource">




datasource.driverClassName=com.mysql.cj.jdbc.Driver
datasource.userName=root
datasource.userPassword=123456
datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezOne=UTC

SSM框架之dbcp2连接池--spring-mybatis.xml(若是dbcp,个别参数对应不上)

destroy-method="close">


























#src/config/dbcp.properties
dbcp.driverClassName=com.mysql.cj.jdbc.Driver
dbcp.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezOne=UTC
dbcp.username=root
dbcp.password=123456
dbcp.initialSize=3
dbcp.minIdle=5
dbcp.maxIdle=10
dbcp.maxActive=15
dbcp.maxWait=60000
dbcp.numTestsPerEvictiOnRun=10
dbcp.timeBetweenEvictiOnRunsMillis=60000
dbcp.minEvictableIdleTimeMillis=300000
dbcp.validatiOnQuery=SELECT 1
dbcp.testOnBorrow=false
dbcp.removeAbandOned=true
dbcp.removeAbandOnedTimeout=1800

SSM框架之c3p0连接池--spring-mybatis.xml





















#src/config/c3p0.properties
c3p0.driverClassName=com.mysql.cj.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezOne=UTC
c3p0.user=root
c3p0.password=123456
c3p0.acquireIncrement=3
c3p0.initialPoolSize=3
c3p0.idleCOnnectionTestPeriod=60
c3p0.minPoolSize=5
c3p0.maxPoolSize=100
c3p0.maxStatements=100
c3p0.numHelperThreads=10
c3p0.maxIdleTime=60

SSM框架之Druid连接池--spring-mybatis.xml


destroy-method="close">




















value="${druid.maxOpenPreparedStatements}" />


































#src/config/druid.properties
druid.driverClassName=com.mysql.cj.jdbc.Driver
druid.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezOne=UTC
druid.userName=root
druid.userPassword=123456
druid.initialSize=0
druid.maxActive=20
druid.minIdle=1
druid.maxIdle=20
druid.maxWait=60000
druid.timeBetweenEvictiOnRunsMillis=60000
druid.minEvictableIdleTimeMillis=300000
druid.poolPreparedStatements=true
druid.maxOpenPreparedStatements=20
druid.validatiOnQuery=SELECT ‘x‘
druid.testWhileIdle=true
druid.testOnBorrow=false
druid.testOnReturn=false
druid.removeAbandOned=true
druid.removeAbandOnedTimeout=1800
druid.logAbandOned=true
druid.filters=stat,log4j

在web.xml添加如下内容



DruidWebStatFilter
com.alibaba.druid.support.http.WebStatFilter

exclusions
*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*



DruidWebStatFilter
/*



DruidStatView
com.alibaba.druid.support.http.StatViewServlet





loginUsername
root



loginPassword
root



DruidStatView
/druid/*

技术图片

输入用户名root、密码root即可登录
技术图片

技术图片


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
author-avatar
静静我想你啦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有