接上篇文章(Struts2.x+Spring3.x+Hibernate4.x 整合(二)Struts+Spring 整合)中的代码,向项目中整合Hibernate4.0.0框架。
注:项目源码附在文章下方。
1、下载Hibernate4.0.0
到官方网站下载 Hibernate4.0.0包,或在这里下载:http://download.csdn.net/detail/xz2001/4844803
下载后把以下jar放到lib目录中:
另外,为了读取数据库,还需要相应的jar包,这里准备了oracle的包:http://download.csdn.net/detail/xz2001/4844876
2、创建/src/hibernate.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">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="hibernate.connection.username">bwcui</property>
<property name="hibernate.connection.password">bwcui</property>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="current_session_context_class">thread</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="com/manage/department/model/Department.hbm.xml" />
</session-factory>
</hibernate-configuration>
3、创建model:com.manage.department.model.Department,内容如下:
package com.manage.department.model;
import java.io.Serializable;
public class Department implements Serializable {
private static final long serialVersionUID = 1L;
private String code;
private String name;
private String describe;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
}
4、创建映射配置文件:com.manage.department.model.Department.hbm.xml ,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="com.manage.department.model.Department" lazy="false"
table="TB_DEPARTMENT">
<id column="CODE" length="3" name="code" type="java.lang.String">
<generator class="assigned" />
</id>
<property column="NAME" length="20" name="name" type="java.lang.String" />
<property column="DESCRIBE" length="1000" name="describe"
type="java.lang.String" />
</class>
</hibernate-mapping>
5、创建Action:com.manage.department.action.DepartmentAction,内容如下:
package com.manage.department.action;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.manage.department.model.Department;
import com.opensymphony.xwork2.ActionSupport;
public class DepartmentAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String code;
private String name;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String read() throws Exception {
Configuration config = new Configuration();
config.configure();
SessionFactory factory = config.buildSessionFactory();
Session session = factory.openSession();
Department dept = (Department)session.load(Department.class, "102");
session.close();
this.setCode(dept.getCode());
this.setName(dept.getName());
return "read";
}
}
6、创建struts配置文件,/src/struts-department.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 定义请求后缀 -->
<constant name="struts.action.extension" value="do,action" />
<!-- 启用动态调用方法 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- 开发环境下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="false" />
<package name="manageDepartment" namespace="/manage" extends="struts-default">
<action name="department" class="com.manage.department.action.DepartmentAction">
<result name="read">/manage/department/read.jsp</result>
</action>
</package>
</struts>
7、修改/src/struts.xml配置文件,引入struts-department.xml配置,修改后内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<include file="struts-enter.xml" />
<include file="struts-department.xml" />
</struts>
8、创建视图文件:/WebRoot/manage/department/read.jsp,内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>部门信息</title>
</head>
<body>
<p align="center">部门编号:<s:property value="code"></s:property></p>
<p align="center">部门名称:<s:property value="name"></s:property></p>
</body>
</html>
9、测试访问
地址:http://localhost:8080/ssh/manage/department!read.do
最后附上源代码:http://download.csdn.net/detail/xz2001/4844795