SSH+Xfire+Proxoolの開発枠組みを統合したデータベースプラットフォームに移植します.

9899 ワード

 
 

:http://blog.csdn.net/wudiwo/article/details/8656934  

  SSH+xfire+proxool , , MySQL Oracle 。

  MySQL , spring ,spring :

  (1)、

  (2)、 Hibernate ,

1、 : 

<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		 <property name="driverClassName"
        value="org.logicalcobwebs.proxool.ProxoolDriver" />
    <property name="url" value="proxool.dbs" />  //   “proxool.dbs”    proxool.xml      <alias>        
</bean>
2、ここでのproxool.xmlファイルの は の りです.
  <proxool>
    <alias>dbs</alias>
    <driver-url>jdbc:mysql://localhost:3306/easylife</driver-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
      <property name="user" value="root"/>
      <property name="password" value="root"/>
      <property name="useUnicode" value="true" />
            <property name="characterEncoding" value="UTF-8" />
    </driver-properties>
    <maximum-connection-count>100</maximum-connection-count>
    <minimum-connection-count>10</minimum-connection-count>
    <house-keeping-sleep-time>90000</house-keeping-sleep-time>
    <maximum-new-connections>10</maximum-new-connections>
    <prototype-count>5</prototype-count>
    <test-before-use>true</test-before-use>
    <house-keeping-test-sql>select 1 from dual</house-keeping-test-sql>
  </proxool>
3、hibernate は の りである.
<!--       start -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory">
			<ref local="sessionFactory" />
		</property>
	</bean>
	<bean id="txProxyTemplate" abstract="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager" />
		<property name="transactionAttributes">
			<props>
				<prop key="*">PROPAGATION_REQUIRED</prop>//               
			</props>
		</property>
	</bean>
<!--       end -->
4、 にhibernation Propertiesの です.ここではhibernate.cfg.xmlにも できます.ここはappication Contact.xmlに いてあります.hibernation.cfg.xmlの き は にoracleデータベースを する に えます.
	<!-- mysql    -->
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.connection.autocommit">true</prop>
				<prop key="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop>
				<prop key="hibernate.connection.release_mode">after_statement</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/easylife/menu/vo/xml/MenuTable.hbm.xml</value>
				<value>com/easylife/detail/vo/xml/DetailcacheTable.hbm.xml</value>
				</list>
		</property>
した の4 、mysqlの はほぼ します.
mysqlと べて1、3 の は く じです.ここで りの2つの を てください.oracleデータベースの き :
2、proxool.xmlファイルの き :
     <proxool>
		<alias>dbs</alias>
		<driver-url>jdbc:oracle:thin:@10.18.11.26:1521:ossoradb2</driver-url>
		<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
		<driver-properties>
			<property name="user" value="resurvey" /> 
			<property name="password" value="resurvey" />
		</driver-properties> 
        <house-keeping-sleep-time>9000</house-keeping-sleep-time>  
        <proxool.simultaneous-build-throttle>50</proxool.simultaneous-build-throttle>  
        <prototype-count>5</prototype-count>  
        <maximum-connection-count>100</maximum-connection-count>  
        <minimum-connection-count>10</minimum-connection-count>  
        <house-keeping-test-sql>select CURDATE()</house-keeping-test-sql>     
    </proxool>  
4、 oracle の は の りである.
		<!-- oracle    start
		 <property name="hibernateProperties">  
            <props>  
                <prop key="hibernate.connection.provider_class">  
                    org.hibernate.connection.ProxoolConnectionProvider  
                </prop>  
                <prop key="hibernate.proxool.xml">proxool.xml</prop>  
                <prop key="hibernate.proxool.pool_alias">  
                    dbs
                </prop>  
                <prop key="hibernate.show_sql">true</prop>  
                <prop key="hibernate.format_sql">false</prop>  
                <prop key="current_session_context_class">thread</prop>  
            </props>  
        </property>  
        <property name="mappingResources">
			<list>
				<value>com/easylife/menus/vo/xml/MenusTable.hbm.xml</value>
				<value>com/easylife/menu/vo/xml/MenuTable.hbm.xml</value>
				<value>com/easylife/detail/vo/xml/DetailcacheTable.hbm.xml</value>
				</list>
		</property>
の は、ヒベルナツ.cfg.xmlファイルに いてあります.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

	<session-factory>
	<!--            applicationContext.xml    
		<property name="dialect">
			org.hibernate.dialect.Oracle10gDialect
		</property>
		<property name="proxool.pool_alias">dbs</property>
		<property name="proxool.xml">proxool.xml</property>
		<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
	    <property name="connection.autocommit">true</property>
		
		<property name="format_sql">true</property>
		<property name="show_sql">true</property>
		<mapping resource="com/easylife/menus/vo/xml/MenusTable.hbm.xml" />
		-->
	</session-factory>
	 
</hibernate-configuration>
 hibernature.cfg.xmlに に しても、aplication Contact.xmlのプロファイルに します.
<property name="configLocation"
			value="classpath:hibernate.cfg.xml">
		</property>
ここで は の でこのような が しました.mysqlを する にこのようなラベルがあります.
                   <prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
		  </prop>
はmysqlの を して、oracleの を する に のコードを します.
                     <prop key="hibernate.dialect">
		                org.hibernate.dialect.Oracle10gDialect
			</prop>
その 、 はプロジェクトを する に できませんでした. はorg.hibernate.dialect.Oracle 10 gDialectのソースが つからないかもしれません.ネットでたくさんの を べましたが、 が つけられませんでした.このラベルを 4 の に したいという き みが いです.これに があります.その は してプロジェクトの ができます.これが ないので、この に か があるかはまだ かりません. が かりましたらメッセージをください.
ロジックサービスにDaoと の を してみます.
        <bean id="basedao" class="com.easylife.dao.BaseDAOImpl">
		<property name="sessionFactory">	
		   <ref bean="sessionFactory" />	
		</property>
	</bean>

	<bean id="detailService" parent="txProxyTemplate">//     
	        <property name="target" >
			<bean class="com.easylife.detail.service.impl.DetailCacheServiceImpl">
		<property name="baseDao">	
		  <ref bean="basedao" />	
		</property>
		</bean>
		</property>
	</bean>
SSH+xfire+proxoolはMySqlを するかそれともoracleを するかに わらず、 ファイル のこの の に、 に された コード ではほぼ じであると えます.このようにSSHという みの はやはり と に すると られています.
は を してください.http://blog.csdn.net/wudiwo/article/details/8656934