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,就可以运行下了。

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