欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts+Spring+Hibernate连接数据库的三个方法

程序员文章站 2022-03-07 23:18:49
...
第一种在Spring applicationContext.xml中连接:
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
		destroy-method="close">
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="url">
			<!-- <value>jdbc:mysql:thin:@localhost:3306:gpay</value> -->
			<value>jdbc:mysql://localhost:3306/gpay</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>root</value>
		</property>
	</bean>	
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
		<property name="mappingResources">
           <list>
               <value>com/Hibernate/Pojo/FactUsers.hbm.xml</value>
           </list>
       </property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
	</bean>


第二种在Hibernate hibernate.cfg.xml中连接:

<session-factory>
		<property name="connection.username">root</property>
		<property name="connection.url">
			jdbc:oracle:thin:@192.168.0.1:1521:ylj
		</property>
		<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
		
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			oracle.jdbc.driver.OracleDriver
		</property>
		<mapping resource="com/hibernate/pojo/FactUsers.hbm.xml" />
	</session-factory>


第三种jndi配制mysql数据连接池
Tomcat版本6.0,版本不同配制也不一样,詊情请见apache-tomcat-6.0.16\webapps\docs\jndi-datasource-examples-howto.html 中有说明。
请用.war包方式在tomcat中发布,如果用eclipse的servers方式发布会有NullPointerException错误,问题还没有解决。

一。在Tomcat中的 \conf\context.xml
<Context path="" docBase=""
        debug="5" reloadable="true" crossContext="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
    <Resource name="jdbc/db" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/dataBaseName?autoReconnect=true"/>
</Context>


二。apache-tomcat-6.0.16\lib 中加入ojdbc14.jar驱动包

三。
项目的web.xml中加入
<resource-ref>
		<description>DB Connection</description>
		<res-ref-name>jdbc/db</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>


四.在spring配制文件applicationContext-datasource.xml(文件名随意)中加入
<bean id="dataSource"		class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName" value="jdbc/db" />
		<property name="resourceRef" value="true" />
	</bean>



提倡用第三个连接方式,以连接池的形式连接数据库,在发布的时候不需要再去修改连接路径