ssh框架整合:struts2+hibernate+spring(三):創建數據庫和映射文件

(1),在domain下面新建文件Product.hbm.xml,這個文件的作用就是給類和表創建映射關係,代碼如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.zhao.ssh.domain.Product" table="product">
		<id name="pid" column="pid">
			<generator class="native"></generator>
		</id>
		
		<property name="pname" column="pname" length="20"></property>
		<property name="price" column="price"></property>
	</class>
</hibernate-mapping>

(2),配置連接數據庫的參數。

這裏把這個任務交給spring去管理。

在src下創建一個文件jdbc.properties,內容如下

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssh
jdbc.username=root
jdbc.password=root

這其實就是連接數據庫的連接字符串。

(3)配置spring的配置文件。這裏就不負責任的粘貼過來了,具體作用可以看註釋

		<!-- 引入外部配置文件 -->
 		<context:property-placeholder location="classpath:jdbc.properties"/>
 		<!-- 配置c3p0連接池 -->
 		<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
 			<property name="driverClass" value="${jdbc.driverClass}"></property>
 			<property name="jdbcUrl" value="${jdbc.url}"></property>
 			<property name="user" value="${jdbc.username}"></property>
 			<property name="password" value="${jdbc.password}"></property>
 		</bean>
 		<!-- 配置hibernate的相關屬性 -->
 		<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 			<!-- 注入連接池 -->
 			<property name="dataSource" ref="dataSource"></property>
 			<!-- 配置hibernate的屬性 -->
 			<property name="hibernateProperties">
 				<props>
 					<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
 					<prop key="hibernate.show_sql">true</prop>
 					<prop key="hibernate.hbm2ddl.auto">update</prop>
 					
 				</props>
 			</property>
 			<!-- 加載hibernate的映射文件 -->
 			<property name="mappingResources">
 				<list>
 					<value>com/zhao/ssh/domain/Product.hbm.xml</value>
 				</list>
 			</property>
 		</bean>
 		<!-- 配置action的類 -->
 		<bean id="productAction" class="com.zhao.ssh.action.ProductAction" scope="prototype">
 			<!-- 手動注入service -->
 			<property name="productService" ref="productService"></property>
 		</bean>
		<!-- 配置業務層的類 -->
		<bean id="productService" class="com.zhao.ssh.service.ProductService">
		<property name="productDao" ref="productDao"></property>
		</bean>
		<!-- 配置DAO的類 -->
		<bean id="productDao" class="com.zhao.ssh.dao.ProductDao">
			<property name="sessionFactory" ref="sessionFactory"></property>
		</bean>
		<!-- 配置事務管理器 -->
		<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
			<property name="sessionFactory" ref="sessionFactory"></property>
		</bean>
		<!-- 開啓註解事務 -->
		<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
(4),struts中url的配置

   
    <package name="ssh" extends="struts-default" namespace="/">
    <action name="product_*" class="productAction" method="{1}">
    <result name="index">index.jsp</result>
    </action>
    </package>

(5)添加上百度雲裏那個jsp頁面,然後在數據庫裏創建表空間ssh,就可以運行下了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章