etmvc中ActiveRecord(下称AR)在使用上可以独立使用,其数据库的连接信息通过activerecord.properties进行配置,具体如下:

domain_base_class=com.et.ar.ActiveRecordBase

com.et.ar.ActiveRecordBase.driver_class=com.mysql.jdbc.Driver

com.et.ar.ActiveRecordBase.url=jdbc:mysql://localhost/ciccpsmember

com.et.ar.ActiveRecordBase.username=root

com.et.ar.ActiveRecordBase.password=root

com.et.ar.ActiveRecordBase.pool_size=5

但是AR提供的这个简单的连接池(其实根本称不上连接池技术)性能实在不敢恭维,于是本人就琢磨这如何引入别的连接池?

首先,JAVAEE下数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘,于是本人将目标锁定了druid。

然后,连接池怎了和etmvc结合起来,第一个想法就是使用spring,查了一下资料,在不使用spring的情况下,类似于dbcp,druid也提供了原生态的支持,但是本人实在懒得折腾了,所以还是通过集成spring来使用连接池。具体步骤如下:

2、下载spring,现在的spring基本都是3.0之后的,但是我这用2.5的,就一个spring.jar;

3、将上面的两个包导入到WEB-INF下的lib;

4、修改WEB-INF下的Web.xml,注意过滤器由DispatcherFilter改成SpringDispatcherFilter,在追加springframework的listener,不使用spring时的Web.xml如下:

ciccpsMember

etmvc

com.et.mvc.DispatcherFilter

controllerBasePackage

controllers

viewBasePath

/views

etmvc

/*

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

修改后如下:

contextConfigLocation

/WEB-INF/applicationContext.xml

org.springframework.web.context.ContextLoaderListener

ciccpsMember

etmvc

com.et.mvc.SpringDispatcherFilter

controllerBasePackage

controllers

viewBasePath

/views

etmvc

/*

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

5、删掉src下的activerecord.properties,追加一个dbconfig.properties,主要用于保存数据库及连接池的配置信息,内容如下:

url:jdbc:mysql://localhost:3306/ciccpsmember

driverClassName:com.mysql.jdbc.Driver

username:root

password:root

filters:stat

maxActive:20

initialSize:1

maxWait:60000

minIdle:10

#maxIdle:15

timeBetweenEvictionRunsMillis:60000

minEvictableIdleTimeMillis:300000

validationQuery:SELECT 'x'

testWhileIdle:true

testOnBorrow:false

testOnReturn:false

#poolPreparedStatements:true

maxOpenPreparedStatements:20

#\u5BF9\u4E8E\u957F\u65F6\u95F4\u4E0D\u4F7F\u7528\u7684\u8FDE\u63A5\u5F3A\u5236\u5173\u95ED

removeAbandoned:true

#\u8D85\u8FC730\u5206\u949F\u5F00\u59CB\u5173\u95ED\u7A7A\u95F2\u8FDE\u63A5

removeAbandonedTimeout:1800

#\u5C06\u5F53\u524D\u5173\u95ED\u52A8\u4F5C\u8BB0\u5F55\u5230\u65E5\u5FD7

logAbandoned:true

6、在WEB-INF下追加spring配置文件applicationContext.xml,dataSource就是连接池的配置,内容如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

/WEB-INF/classes/dbconfig.properties

destroy-method="close">

p:dataSource-ref="dataSource"

p:adapterClass="com.et.ar.adapters.MySqlAdapter"

p:domainBaseClass="com.et.ar.ActiveRecordBase" />

7、这样就配置好了,AR该怎用还是怎用,主要的是性能也上去了。

etmvc mysql乱码_etmvc中集成spring使用druid连接池相关推荐

  1. 【转】SSH中 整合spring和proxool 连接池

    [摘要:比来做的一个项目中应用到了毗邻池技巧,大概我们人人比拟认识的开源毗邻池有dbcp,c3p0,proxool.对那三种毗邻池来讲,从机能战失足率来讲,proxool轻微比前两种好些.本日我首要简 ...

  2. spring配置druid连接池和监控数据库访问性能

    Druid连接池及监控在spring配置如下: [html] view plaincopy <bean id="dataSource" class="com.ali ...

  3. netty里集成spring注入mysq连接池(二)

    3.实现注入 3.1构建applicationContext.xml 在src目录下建立applicationContext.xml <?xml version="1.0"  ...

  4. netty里集成spring注入mysq连接池(一)

    netty的性能非常高,能达到8000rps以上,见 各个web服务器的性能对比测试 1.准备好需要的jar包 spring.jar            //spring包 netty-3.2.4. ...

  5. etmvc mysql乱码_Etmvc学习文档

    关于etmvc的视图 我们来探讨etmvc如何使用视图,前面关于"Action方法"的介绍中我们提到,每个请求将会映射到一个Action方法.etmvc将根据Action方法的返回 ...

  6. 使用MyBatis集成阿里巴巴druid连接池(不使用spring)

    在工作中发现mybatis默认的连接池POOLED,运行时间长了会报莫名其妙的连接失败错误.因此采用阿里巴巴的Druid数据源(码云链接 ,中文文档链接). mybatis更多数据源参考博客链接 . ...

  7. Spring Boot 使用 Druid 连接池详解

    Spring Boot 使用 Druid 连接池详解 Alibaba Druid 是一个 JDBC 组件库,包含数据库连接池.SQL Parser 等组件,被大量业务和技术产品使用或集成,经历过严苛的 ...

  8. druid连接池mysql5.7_Spring Boot 使用Druid连接池整合Mybatis-Plus连接Mysql数据库

    一.连接池 在普通的数据库访问程序中,客户程序得到的连接对象是物理连接,调用连接对象的close()方法将关闭连接,而采用连接池技术,客户程序得到的连接对象是连接池中物理连接的一个句柄,调用连接对象的 ...

  9. SSM中使用Druid连接池

    连接池 最原始的数据库使用就是打开一个连接并进行使用,使用过后一定要关闭连接释放资源.由于频繁的打开和关闭连接对jvm包括数据库都有一定的资源负荷,尤其应用压力较大时资源占用比较多容易产生性能问题.由 ...

最新文章

  1. spring cloud feign 加载流程
  2. Bresenham 生成直线
  3. mysql 热切换_热备服务器中,切换master中切换SQL
  4. c语言求n到m之间的素数和
  5. [bzoj4034]树上操作
  6. 支撑性服务 自动化能力
  7. 使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。
  8. php mysql循环语句怎么写_mysql数据库循环语句该怎么写???
  9. uefi linux开发环境,开发者为 Linux 添加了一系列 RISC-V UEFI 支持补丁
  10. 简述一下索引的匹配原则_Mysql联合索引最左匹配原则
  11. 太极越狱重大安全后门
  12. Cisco Packet Tracer 思科命令缩写
  13. 远程调用中间件(RPC
  14. 软件设计师-6.结构化开发方法
  15. 千姿百态项目经理2——“缥缈”项目经理
  16. HAL库配置F407ZE DDS AD9854
  17. 利用最小二乘法进行线性拟合
  18. Kubernetes资源调度之污点与Pod容忍度
  19. 【Linux安全管理】Firewalld详解
  20. deepin-wine安装

热门文章

  1. 轻量级RTSP服务模块和RTSP推流模块适用场景区别
  2. java中的字符串_java中字符串的操作
  3. Shiro之UsernamePasswordTokenRememberMeAuthenticationTokenAuthenticationToken
  4. redis发布订阅c接口_Redis 发布/订阅机制原理分析
  5. 千牛怎么注销卖家店铺_新店铺怎么拥有亚马逊购物车?亚马逊小卖家如何尽快获得黄金购物车?...
  6. python怎么判断输入的是不是数字_如何在PYTHON里判断字符串是否为数字
  7. wapper打成linux服务,Wrapper配置详解及高级应用(转)
  8. 刘庆敏 博客linux,Linux内核源码分析--zImage出生实录(Linux-3.0 ARMv7)
  9. php post json请求参数传递_php post json参数的传递和接收处理方法
  10. exls导入数据库 php_PHP读取excel文件并导入数据库