- 浏览: 158901 次
- 性别:
- 来自: 杭州
文章分类
最新评论
1. 准备条件:
1.1 在MYSQL中创建hibernate数据库,创建person表
1.2 创建hibernate工程,导入struts2,hibernate3.3,mysql驱动包。
2. hibernate.cfg.xml
3. Person.java
4. person.hbm.xml
5. HibernateUtil.java
6. DBPerson.java
7. 配置web.xml
8. 配置struts.xml
9. PersonAction.java
10. register.jsp
11. listAll.jsp
12. getPerson.jsp
13. updatePerson.jsp
有什么问题还请明确指出。
1.1 在MYSQL中创建hibernate数据库,创建person表
1.2 创建hibernate工程,导入struts2,hibernate3.3,mysql驱动包。
2. 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"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="format_sql">true</property> <property name="show_sql">true</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <mapping resource="person.hbm.xml" /> </session-factory> </hibernate-configuration>
3. Person.java
package com.hibernate.model; import java.sql.Date; public class Person { private Integer id; private String username; private String password; private Integer age; private Date registerdate; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getRegisterdate() { return registerdate; } public void setRegisterdate(Date registerdate) { this.registerdate = registerdate; } }
4. person.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.hibernate.model.Person" table="person"> <id name="id" column="id" type="integer"> <generator class="increment"></generator> </id> <property name="username" column="username" type="string"></property> <property name="password" column="password" type="string"></property> <property name="age" column="age" type="integer"></property> <property name="registerdate" column="registerdate" type="date"></property> </class> </hibernate-mapping>
5. HibernateUtil.java
package com.hibernate.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static SessionFactory sessionFactory; //静态代码块(类加载就执行) static{ try{ sessionFactory=new Configuration().configure().buildSessionFactory(); }catch(Exception ex){ System.out.println("创建sessionFactory时出错"); } } //获得Session public static Session getSession(){ Session session=sessionFactory.openSession(); return session; } //关闭session public static void closeSession(Session session){ if(session!=null){ session.close(); } } }
6. DBPerson.java
package com.hibernate.dao; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import com.hibernate.model.Person; import com.hibernate.util.HibernateUtil; public class DBPerson { /** * 保存 * @param bean */ public static void save(Person bean){ Session session=HibernateUtil.getSession(); Transaction tx=null; try{ tx=session.beginTransaction(); session.save(bean); tx.commit(); }catch(Exception ex){ System.out.println("保存数据时出错"); if(tx!=null){ tx.rollback(); } }finally{ HibernateUtil.closeSession(session); } } /** * 查询所有 * @return */ @SuppressWarnings("unchecked") public static List<Person> getAllPerson(){ Session session=HibernateUtil.getSession(); Transaction tx=null; String hql="from Person"; List<Person> list=null; try{ tx=session.beginTransaction(); Query query=session.createQuery(hql); list=(List<Person>)query.list(); tx.commit(); }catch(Exception ex){ System.out.println("查询数据时出错"); if(tx!=null){ tx.rollback(); } }finally{ HibernateUtil.closeSession(session); } return list; } /** * 根据ID获得一条记录 * @param id * @return */ public static Person getPersonById(Integer id){ Session session=HibernateUtil.getSession(); Transaction tx=null; Person person=null; try{ tx=session.beginTransaction(); person=(Person)session.get(Person.class, id); tx.commit(); }catch(Exception ex){ System.out.println("查询单条数据时出错"); if(tx!=null){ tx.rollback(); } }finally{ HibernateUtil.closeSession(session); } return person; } /** * 删除 * @param bean */ public static void delPerson(Person bean){ Session session=HibernateUtil.getSession(); Transaction tx=null; try{ tx=session.beginTransaction(); session.delete(bean); tx.commit(); }catch(Exception ex){ System.out.println("删除数据时出错"); if(tx!=null){ tx.rollback(); } }finally{ HibernateUtil.closeSession(session); } } /** * 修改 */ public static void updatePerson(Person bean){ Session session=HibernateUtil.getSession(); Transaction tx=null; try{ tx=session.beginTransaction(); session.update(bean); tx.commit(); }catch(Exception ex){ System.out.println("更新数据时出错"); if(tx!=null){ tx.rollback(); } }finally{ HibernateUtil.closeSession(session); } } }
7. 配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> </web-app>
8. 配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="hibernate" extends="struts-default"> <action name="save" class="com.hibernate.action.PersionAction" method="save" > <result name="success">/listAll.jsp</result> </action> <action name="getPerson" class="com.hibernate.action.PersionAction" method="getPerson" > <result name="success">/getPerson.jsp</result> </action> <action name="updatePerson" class="com.hibernate.action.PersionAction" method="getPerson" > <result name="success">/updatePerson.jsp</result> </action> <action name="doUpdatePerson" class="com.hibernate.action.PersionAction" method="updatePerson" > <result name="success">/listAll.jsp</result> </action> <action name="deletePerson" class="com.hibernate.action.PersionAction" method="deletePerson" > <result name="success">/listAll.jsp</result> </action> </package> </struts>
9. PersonAction.java
package com.hibernate.action; import java.util.List; import org.apache.struts2.ServletActionContext; import com.hibernate.dao.DBPerson; import com.hibernate.model.Person; import com.opensymphony.xwork2.ActionSupport; public class PersionAction extends ActionSupport { private Integer id; private String username; private String password; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String save() throws Exception { Person person=new Person(); person.setUsername(username); person.setPassword(password); person.setAge(age); java.sql.Date registerdate=new java.sql.Date(new java.util.Date().getTime()); person.setRegisterdate(registerdate); DBPerson.save(person); List<Person> list=DBPerson.getAllPerson(); ServletActionContext.getRequest().setAttribute("list", list); return SUCCESS; } public String getPerson() throws Exception { Person person=DBPerson.getPersonById(id); ServletActionContext.getRequest().setAttribute("person", person); return SUCCESS; } public String updatePerson() throws Exception { Person person=DBPerson.getPersonById(id); person.setPassword(password); person.setAge(age); DBPerson.updatePerson(person); List<Person> list=DBPerson.getAllPerson(); ServletActionContext.getRequest().setAttribute("list", list); return SUCCESS; } public String deletePerson() throws Exception { Person person=DBPerson.getPersonById(id); DBPerson.delPerson(person); List<Person> list=DBPerson.getAllPerson(); ServletActionContext.getRequest().setAttribute("list", list); return SUCCESS; } }
10. register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>注册</title> </head> <body> <form action="save.action" method=”post”> <table align="center"> <tr> <td>用户名</td> <td><input type="text" name="username" /></td> </tr> <tr> <td>密码</td> <td><input type="password" name="password" /></td> </tr> <tr> <td>年龄</td> <td><input type="text" name="age" /></td> </tr> <tr> <td><input type="submit" value="submit" /></td> <td><input type="reset" value="reset" /></td> </tr> </table> </form> </body> </html>
11. listAll.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>显示列表</title> </head> <body> <table border="1" align="center" cellpadding="5"> <tr> <th>用户名</th> <th>密码</th> <th>年龄</th> <th>注册日期</th> <th>操作</th> </tr> <s:iterator value="#request.list" id="person" > <tr> <td> <s:a href="getPerson.action?id=%{#person.id}"> <s:property value="username" /> </s:a> </td> <td> <s:property value="password" /> </td> <td> <s:property value="age" /> </td> <td> <s:property value="registerdate" /> </td> <td> <s:a href="updatePerson.action?id=%{#person.id}"> 更新 </s:a> <s:a href="deletePerson.action?id=%{#person.id}"> 删除 </s:a> </td> </tr> </s:iterator> </table> </body> </html>
12. getPerson.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table align="center"> <tr> <td>用户名</td> <td><s:property value="#request.person.username" /></td> </tr> <tr> <td>密码</td> <td><s:property value="#request.person.password" /></td> </tr> <tr> <td>年龄</td> <td><s:property value="#request.person.age" /></td> </tr> <tr> <td>注册日期</td> <td><s:property value="#request.person.registerdate" /></td> </tr> </table> </body> </html>
13. updatePerson.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="doUpdatePerson.action" method="post"> <s:hidden name="id" value="%{#request.person.id}"></s:hidden> <table align="center"> <tr> <td>用户名</td> <td><s:property value="#request.person.username" /></td> </tr> <tr> <td>密码</td> <td><s:password name="password" value="%{#request.person.password}"></s:password></td> </tr> <tr> <td>年龄</td> <td><s:textfield name="age" value="%{#request.person.age}" ></s:textfield></td> </tr> <tr> <td>注册日期</td> <td><s:property value="#request.person.registerdate" /></td> </tr> <tr> <td><input type="submit" value="submit" /></td> <td><input type="reset" value="reset" /></td> </tr> </table> </form> </body> </html>
评论
2 楼
lijunaccp
2012-08-20
大红鸡翅膀 写道
struts.xml 里面配置的貌似有问题吧?
有什么问题还请明确指出。
1 楼
大红鸡翅膀
2012-08-18
struts.xml 里面配置的貌似有问题吧?
发表评论
-
struts2.1改变配置文件默认位置
2011-03-31 14:01 789<filter> <init-par ... -
整合SSH2时需注意几点
2010-12-10 16:35 8501.需要导入struts2-spring-plugin-2.1 ... -
ssh2
2010-11-11 13:56 1857准备条件: 1. 建WEB工程:ssh2 2. 建数据库ssh ... -
spring整合hibernate
2010-11-08 08:59 841准备条件: 1. 创建数据库hibernatespring,表 ... -
代理模式
2010-11-08 08:58 849一. 静态代理 1. Subject.java packa ... -
单例模式
2010-11-08 08:57 6581. Singleton.java package com ... -
spring整合struts2
2010-11-08 08:56 737前言: 1. 创建工程strutsspring 2. 导入st ... -
反射案例
2010-11-08 08:56 709案例一: 1. Test.java package com ... -
spring配置文件中集合类型的配置
2010-11-08 08:54 953前言: Spring中对于有些bean会有集合类型的属性,以下 ... -
spring用到的设计模式-工厂模式
2010-11-08 08:53 1252Spring用到的设计模式之一 核心:用到工厂设计模式 1. ... -
读取applicationContext.xml的两种方式
2010-11-08 08:52 957第一种: ClassPathResource cpr=ne ... -
用图形查看spring配置文件依赖关系
2010-11-08 08:51 938myeclipse提供了这样的功能: window->s ... -
spring的基本操作IOC
2010-11-08 08:51 737前言: Spring通过IOC/DI来实现获取对象 准备: 1 ... -
spring的基本操作-反射
2010-11-08 08:50 1110前言: Spring通过反射来实现获取对象 准备: 1. 建S ... -
hibernate级联操作
2010-10-29 18:59 898准备条件: 1. 创建hibernate3工程 2. 导入hi ... -
hibernate基本操作
2010-10-29 18:58 7531.准备条件: 1.1 创建hibernate2工程 1.2 ... -
JDBC
2010-10-29 18:56 768一. JDBC连接Access实例 1. 准备条件 1.1 创 ... -
文件上传
2010-10-26 14:49 6941. upload.jsp <%@ page lan ... -
调用指定Action的方法
2010-10-26 14:48 763主要在配置文件中配置下: 注:如应用于增删改查的类 1. st ... -
I18N
2010-10-26 14:47 811一, 查看当前操作系统中可用的语言 package com ...
相关推荐
整合Struts2和Hibernate的主要目的是实现数据访问层(DAO)与控制层的无缝对接,提供一个统一的、高效的数据管理平台。以下是一些整合的关键步骤和知识点: 1. **配置环境**:确保系统中已经安装了Struts2和...
**Struts2整合Hibernate**的核心目标是将这两者结合起来,实现业务逻辑层和数据访问层的高效协同工作。在本实例中,我们将使用Eclipse作为开发环境,Tomcat6.0作为应用服务器,MySQL作为数据库系统。以下是对这个...
这个“struts2整合hibernate的网上银行模拟项目”结合了这两个框架,创建了一个模拟的网上银行系统,旨在展示如何在实际项目中使用它们。 首先,让我们深入了解一下Struts2。Struts2 是 Struts 的下一代,它继承了...
### Struts2整合Hibernate的步骤 #### 一、概述 在Java Web开发中,Struts2与Hibernate都是非常重要的框架。Struts2是一个基于MVC设计模式的Web应用框架,而Hibernate则是一个对象关系映射(ORM)框架。将两者进行...
《Struts2整合Hibernate深入详解》是一篇针对Java开发者的重要教程,主要探讨如何在Web应用程序中有效地结合两个流行的技术框架——Struts2和Hibernate。Struts2是一个强大的MVC(Model-View-Controller)框架,提供...
在"第18章 Struts 2整合Hibernate开发.ppt"中,我们可能会学习到以下几个核心知识点: 1. **Struts 2基础**:首先会介绍Struts 2的基本概念,包括Action、Result、Interceptor等核心组件,以及配置文件struts.xml的...
下面我们将详细讨论Struts2整合Hibernate所需的核心jar包以及整合过程中的关键知识点。 1. **核心jar包解析:** - **Struts2框架**: - `struts2-core.jar`:Struts2框架的核心库,包含Action、Interceptor等主要...
在"struts2整合hibernate3.1演示例子"中,我们将探讨如何将这两个框架协同工作,实现数据的CRUD(Create, Read, Update, Delete)操作。Hibernate3.1版本提供了许多改进,如增强的性能和新的API,使得与Struts2集成...
Struts2Hibernate整合jar包,直接放进工程里用就可以了,不少东西
Struts2 和 Hibernate 是两种非常流行的开源框架,它们在...通过分析这个源码,开发者不仅可以学习到如何整合Struts2和Hibernate,还可以深入了解MVC架构以及Java Web开发的基本流程。这有助于提升实际项目开发能力。
Struts2整合Hibernate32开发注册登录系统
整合Struts2和Hibernate的主要目的是为了让Web应用的控制层(Struts2)能够便捷地访问持久层(Hibernate)。以下是一些关键步骤: 1. **配置Struts2** 首先,需要在项目的`web.xml`中配置Struts2的前端控制器`...
1. **Struts2整合Hibernate**:整合过程通常包括配置Struts2的Action类以调用Hibernate的服务,如Session工厂、Session和Transaction。在struts.xml配置文件中,需要定义Action的类名和方法,以及对应的URL映射。...
本DEMO实现用户登录功能,采用MVC思想,自己也觉得这个相对是比较简单,比较容易理解数据流向的一个例子,通过整合这个过程,能够清晰的看出整个项目工程的数据流向和设计思想,是新手对于整合struts2和hibernate的...
首先,整合Struts2和Hibernate的基本步骤包括: 1. **添加依赖**:在项目的构建文件(如Maven的pom.xml或Gradle的build.gradle)中,添加Struts2和Hibernate的库依赖。 2. **配置Struts2**:在struts.xml配置文件...
**Struts2整合Hibernate的核心概念:** 1. **Action和ActionSupport**:在Struts2中,业务逻辑通常封装在Action类中。`ActionSupport`是Struts2提供的一种基础Action类,包含了默认的校验和国际化支持。 2. **...
**Struts2整合Hibernate的关键步骤:** 1. **配置环境**:首先,确保你的项目中包含了Struts2和Hibernate的库文件,如struts2-core、hibernate-core以及相应的依赖库。 2. **创建实体类**:在Hibernate中,你需要...