欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Spring+Hibernate 配置和使用c3p0和proxool連接

系統 2094 0

其實原理都是一樣 就是用一個繼承了實現javax.sql.DataSource的DataSource類

在Spring中用bean來組裝,管理 來配置其屬性 提供給sessionFactory來組裝

API上可能屬性沒有寫出來 但是可以看到方法要想真正了解 還是要看源代碼中的詳細屬性

比如在cp30中這個具體的DataSource是

com.mchange.v2.c3p0.ComboPooledDataSource
他的源代碼中有以下片段:

.............
public StringgetDriverClass()
... { return dmds.getDriverClass();}

public void setDriverClass(StringdriverClass) throws PropertyVetoException
... {
dmds.setDriverClass(driverClass);
// System.err.println("settingdriverClass:"+driverClass);
}


public StringgetJdbcUrl()
... {
// System.err.println("gettingjdbcUrl:"+dmds.getJdbcUrl());
return dmds.getJdbcUrl();
}


public void setJdbcUrl(StringjdbcUrl)
... {
dmds.setJdbcUrl(jdbcUrl);
this .resetPoolManager( false );
// System.err.println("settingjdbcUrl:"+jdbcUrl+"[dmds@"+C3P0ImplUtils.identityToken(dmds)+"]");
// if(jdbcUrl==null)
// newException("***NULLSETTER***").printStackTrace();
}


public PropertiesgetProperties()
... {
// System.err.println("gettingproperties:"+dmds.getProperties());
return dmds.getProperties();
}


public void setProperties(Propertiesproperties)
... {
// System.err.println("settingproperties:"+properties);
dmds.setProperties(properties);
this .resetPoolManager( false );
}


// DriverManagerDataSource"virtualproperties"basedonproperties
public StringgetUser()
... { return dmds.getUser();}

public void setUser(Stringuser)
... {
dmds.setUser(user);
this .resetPoolManager( false );
}


public StringgetPassword()
... { return dmds.getPassword();}

public void setPassword(Stringpassword)
... {
dmds.setPassword(password);
this .resetPoolManager( false );
................

里面有個property屬性的get和set方法

因此在bean中可以對其進行配置

組裝到sessionFactory中之后 還可以通過hibernateProperties對Hibernate進行一些配置

一 c3p0

beas-config.xml

<? xmlversion="1.0"encoding="UTF-8" ?>
<! DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd" >

< beans >

<!-- =================================================================== -->
<!-- JDBCdataSource -->
<!-- =================================================================== -->

<!-- ***********************************************************************
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<propertyname="url">
<value>jdbc:mysql://localhost:3306/shtest</value>
</property>
<propertyname="username">
<value>root</value>
</property>
<propertyname="password">
<value>password</value>
</property>
</bean>
************************************************************************
-->

<!-- =================================================================== -->
<!-- c3p0dataSource -->
<!-- =================================================================== -->


< bean id ="dataSource" class ="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method ="close" >
< property name ="driverClass" >
< value > com.mysql.jdbc.Driver </ value >
</ property >
< property name ="jdbcUrl" >
< value > jdbc:mysql://localhost:3306/shtest </ value >
</ property >
< property name ="properties" >
< props >
< prop key ="c3p0.acquire_increment" > 2 </ prop >
< prop key ="c3p0.idle_test_period" > 200 </ prop >
< prop key ="c3p0.timeout" > 1000 </ prop >
< prop key ="c3p0.max_size" > 100 </ prop >
< prop key ="hibernate.c3p0.max_statements" > 100 </ prop >
< prop key ="hibernate.c3p0.min_size" > 20 </ prop >
< prop key ="user" > root </ prop >
< prop key ="password" > password </ prop >
</ props >
</ property >
</ bean >


<!-- =================================================================== -->
<!-- HibernatesessionFactory -->
<!-- =================================================================== -->

< bean id ="sessionFactory" class ="org.springframework.orm.hibernate3.LocalSessionFactoryBean" destroy-method ="close" >
< property name ="dataSource" >
< ref bean ="dataSource" />
</ property >
< property name ="mappingResources" >
< list >
< value > /com/ergal/hibernate/User.hbm.xml </ value >
</ list >
</ property >
< property name ="hibernateProperties" >
< props >
< prop key ="hibernate.dialect" > org.hibernate.dialect.MySQLDialect </ prop >
< prop key ="hibernate.show_sql" > true </ prop >
< prop key ="hibernate.current_session_context_class" > thread </ prop >
</ props >
</ property >
</ bean >

<!-- =================================================================== -->
<!-- HibernatePOJO -->
<!-- =================================================================== -->

< bean id ="userDao" class ="com.ergal.hibernate.UserDao" >
< property name ="sessionFactory" >
< ref bean ="sessionFactory" />
</ property >
</ bean >

<!-- =================================================================== -->
<!-- transactionManager -->
<!-- =================================================================== -->

< bean id ="transactionManager" class ="org.springframework.orm.hibernate3.HibernateTransactionManager" >
< property name ="sessionFactory" >
< ref bean ="sessionFactory" />
</ property >
</ bean >

<!-- =================================================================== -->
<!-- DaoProxy -->
<!-- =================================================================== -->

< bean id ="userDaoProxy" class ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" >
< property name ="transactionManager" >
< ref bean ="transactionManager" />
</ property >
< property name ="proxyInterfaces" >
< list >
< value > com.ergal.hibernate.IUserDao </ value >
</ list >
</ property >
< property name ="target" >
< ref bean ="userDao" />
</ property >
< property name ="transactionAttributes" >
< props >
< prop key ="insert" > PROPAGATION_REQUIRED </ prop >
</ props >
</ property >

</ bean >



</ beans >

這么一來在修改數據庫連接的部分就變的非常簡單 修改后也不用修改除sessionFactory的組裝外的其他代碼

二 proxool

這個可以通過對hibernateProperties的屬性配置來設置

beans-config.xml

< bean id ="mySessionFactory" class ="org.springframework.orm.hibernate.LocalSessionFactoryBean" >
< property name ="mappingResources" >
< list >
< value > com/meagle/bo/Order.hbm.xml </ value >
< value > com/meagle/bo/OrderLineItem.hbm.xml </ value >
</ list >
</ property >

< property name ="hibernateProperties" >
< props >
< prop key ="hibernate.dialect" > net.sf.hibernate.dialect.MySQLDialect </ prop >
< prop key ="hibernate.show_sql" > true </ prop >
< prop key ="hibernate.cglib.use_reflection_optimizer" > true </ prop >
< prop key ="hibernate.proxool.xml" > C:/....../WebContent/WEB-INF/proxool.xml </ prop >
< prop key ="hibernate.proxool.pool_alias" > spring </ prop >
</ props >
</ property >
</ bean >

然后單獨寫一個proxool.xml

<? xmlversion="1.0"encoding="UTF-8" ?>
<!-- theproxoolconfigurationcanbeembeddedwithinyourownapplication's.
Anythingoutsidethe"proxool"tagisignored.
-->

< proxool >
< alias > spring </ alias >
< driver-url > jdbc:mysql://localhost:3306/shtest </ driver-url >
< driver-class > com.mysql.jdbc.Driver </ driver-class >
< driver-properties >
< property name ="user" value ="root" />
< property name ="password" value ="password" />
</ driver-properties >
< minimum-connection-count > 2 </ minimum-connection-count >
< maximum-connection-count > 20 </ maximum-connection-count >
< maximum-connection-lifetime > 180000 </ maximum-connection-lifetime > <!-- 5hours -->
< house-keeping-test-sql > values(currentTimeStamp) </ house-keeping-test-sql >
< statistics > 1m,15m,1d </ statistics >
< statistics-log-level > INFO </ statistics-log-level >
< fatal-sql-exception > Connectionisclosed,SQLSTATE=08003,Erroropeningsocket.SQLSTATE=08S01,SQLSTATE=08S01 </ fatal-sql-exception >
< fatal-sql-exception-wrapper-class > org.logicalcobwebs.proxool.FatalRuntimeException </ fatal-sql-exception-wrapper-class >
< verbose > false </ verbose >
</ proxool >

Spring+Hibernate 配置和使用c3p0和proxool連接池


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 青草青在线 | 91在线精品秘密一区二区 | 欧美色综合天天久久综合精品 | 在线久草| 国产午夜免费视频片夜色 | 这里只有精品视频 | 亚洲精品欧美视频 | 国产亚洲精品久久久久久无码网站 | 欧美一级电影网 | 亚洲一区二区免费视频 | 国产成人精品免费视频大全最热 | 亚洲精品在线视频 | 中国黄色一级生活片 | 国产精品69久久久久水密桃 | 国产福利不卡视频在免费 | 激情九月婷婷 | 日本免费不卡一区二区 | 91av在线免费播放 | 国产欧美日韩在线不卡第一页 | 国产日韩欧美在线观看 | 日韩成人av在线播放 | 亚洲91在线 | 欧洲精品视频在线观看 | 天天色亚洲 | jizz国产丝袜18老师女人 | 男女性高爱潮免费网站 | 日韩免费在线视频 | 精品久久久久国产免费 | 欧美在线一级精品 | 精品一区二区三区的国产在线观看 | 午夜影院在线看 | 亚洲免费人成在线视频观看 | 日本在线观看中文字幕 | 中文字幕精品一区二区三区精品 | 亚洲高清国产品国语在线观看 | 国产成人精品在线观看 | 被玩坏了的女老师(高h np) | 特级一级毛片免费看 | 国产成人精品免费久久久久 | 久久久久久影院 | 成人国产精品一区 |