ssm框架mysql连接池_SSM框架搭建之数据库连接池(三)

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/*

89f3996ff57a56e2db2f5925c3a34715.png

输入用户名root、密码root即可登录

2afc3a10c36b0c9245d4d86732588d8d.png

61ea67f3e425c7ab03fbcb326fadca1f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值