- 浏览: 153135 次
- 性别:
- 来自: 杭州
文章分类
最新评论
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 750<filter> <init-par ... -
整合SSH2时需注意几点
2010-12-10 16:35 8171.需要导入struts2-spring-plugin-2.1 ... -
ssh2
2010-11-11 13:56 1826准备条件: 1. 建WEB工程:ssh2 2. 建数据库ssh ... -
spring整合hibernate
2010-11-08 08:59 799准备条件: 1. 创建数据库hibernatespring,表 ... -
代理模式
2010-11-08 08:58 813一. 静态代理 1. Subject.java packa ... -
单例模式
2010-11-08 08:57 6291. Singleton.java package com ... -
spring整合struts2
2010-11-08 08:56 716前言: 1. 创建工程strutsspring 2. 导入st ... -
反射案例
2010-11-08 08:56 683案例一: 1. Test.java package com ... -
spring配置文件中集合类型的配置
2010-11-08 08:54 926前言: Spring中对于有些bean会有集合类型的属性,以下 ... -
spring用到的设计模式-工厂模式
2010-11-08 08:53 1212Spring用到的设计模式之一 核心:用到工厂设计模式 1. ... -
读取applicationContext.xml的两种方式
2010-11-08 08:52 914第一种: ClassPathResource cpr=ne ... -
用图形查看spring配置文件依赖关系
2010-11-08 08:51 910myeclipse提供了这样的功能: window->s ... -
spring的基本操作IOC
2010-11-08 08:51 704前言: Spring通过IOC/DI来实现获取对象 准备: 1 ... -
spring的基本操作-反射
2010-11-08 08:50 1084前言: Spring通过反射来实现获取对象 准备: 1. 建S ... -
hibernate级联操作
2010-10-29 18:59 869准备条件: 1. 创建hibernate3工程 2. 导入hi ... -
hibernate基本操作
2010-10-29 18:58 7171.准备条件: 1.1 创建hibernate2工程 1.2 ... -
JDBC
2010-10-29 18:56 735一. JDBC连接Access实例 1. 准备条件 1.1 创 ... -
文件上传
2010-10-26 14:49 6611. upload.jsp <%@ page lan ... -
调用指定Action的方法
2010-10-26 14:48 733主要在配置文件中配置下: 注:如应用于增删改查的类 1. st ... -
I18N
2010-10-26 14:47 775一, 查看当前操作系统中可用的语言 package com ...
相关推荐
struts hibernate 整合,全部源代码都在,struts2+hibernate
Struts2整合Hibernate32开发注册登录系统Struts2整合Hibernate32开发注册登录系统Struts2整合Hibernate32开发注册登录系统
实现登录与注册的实例!eclipse + Tomacat6.0 + MySQL数据库
struts2整合hibernate的网上商城源码(框架)
开发者突击 Struts2整合Hibernate 源码
Struts2Hibernate整合jar包,直接放进工程里用就可以了,不少东西
Struts2整合hibernate的步骤 添加hibernate支持,注意选择config(自建)的包
Struts2整合hibernate所需的jar包
Struts2整合Hibernate32开发注册登录系统图文教程.doc
Struts2整合Hibernate32开发注册登录系统
struts2整合hibernate3.1并更具具体的示例来演示hibernate3.1
.Struts2整合Hibernate深入详解,需要的童鞋可以看看
21天学通Java+Web开发第18章 Struts 2整合Hibernate开发
自己学习javaee半年来小试牛刀的结晶,希望对其他爱好者有启示与帮助!
本DEMO实现用户登录功能,采用MVC思想,自己也觉得这个相对是比较简单,比较容易理解数据流向的一个例子,通过整合这个过程,能够清晰的看出整个项目工程的数据流向和设计思想,是新手对于整合struts2和hibernate的...
轻松学会struts2和hibernate整合
struts2与hibernate的整合实现数据的crud操作,还有复选框删除的实例,运用了Jquery的技术。 里面有使用需知,欢迎大家下载。