etmvc mysql乱码_etmvc中集成spring使用druid连接池
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连接池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜索用计算机弹奏9277的数字,计算机基
- 下一篇: html为何转换为json,将HTML元