




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
23 3/20/2012Struts2+hibernate3简单使用由于是用MyEclipse自动生成hibernate的一些信息,所以要先进行数据库的设计数据库名称为 hibernate_test 这里演示只用了一个表Userinfo表的结构如图这里是使用Mysql的数据库 大家可以自己创建(由于在这里是使用MyEclipse来自动加入hibernate的支持,数据库要先建立好(可能实际开发中,都是手工加入hibernate框架,数据库都是由hibernate自己生成,不用自己去创建,就要写好相关的javaBean,这里不多说))我这里使用的Myeclipse8.6 1. 首先在myeclipse中创建好一个 “数据库连接信息” (不知道这样的说法正不争取,看图)(如何打开 DB Browser - window - show view - DB Browser 右键)然后弹出一个信息框,填写相关信息,如下Finish之后,双击打开刚刚创建的数据库连接大家就可以看到数据库里面的信息了返回界面,创建一个web项目 如图:先加入hibernate 的支持。看图(是hibernate 的那个)弹出信息框,继续Next ,保持这一步的默认就好,继续next,可以看到这个界面然后下面的信息会自动填补上去的,继续 Next ,看到如下图这个是hibernate的sessionFactory 然后就可以Finish 了。 是不是步骤挺多的。 我在这写文章更烦 现在下图显示内容没有什么,等下我们让myeclipse自动帮我们添加信息进去2跳转到 DB Browser 视图,如图右键这张数据表(userinfo)在弹出的信息框根据自己的需要,选择自己的项目和目录等。如图- Next然后再看下hibernate.cfg.xml现在看下项目目录情况自己新建文件夹或者包现在的情况明显类的位置不好,需要把一些类移动到别的包上 ,右键要移动的UserinfoDAO.java 如下:(选中红色那个,然后移动到自己想要的包上或者文件夹上)我们需要为UserinfoDAO.java 导出接口也是右键UserinfoDAO.java 在弹出的对话框自己选择需要的方法 或者全选了也没事然后在把这个接口类移到别的包下我还创建了hibernate方法调用的工厂类 UserinfoFactory.java(com.laogen.Factory)public class UserinfoFactory public static UserinfoService getMethod()return new UserinfoDAO();hibernate的操作基本就做完了图片好多啊 晕 这个是我src目录下的所有文件现在hibernate算ok了,剩下Struts2了,看下如何添加Struts2的 也是跟hibernate差不多的,就是步骤有点多,不知道大家在看这篇文章的时候会不会觉得烦,如果觉得烦,也没办法的,开发这个东西就是这样。你要知道我在电脑上敲代码和截图,不说了弹出信息框,请按照红色方框选择剩下就是加入jsp和action了,这些基本跟前面我写的文章 struts2的增删改查 (不知道的可以自己去看看,就在我的百度博客上)没有多少区别,主要是action 使用hibernate 的一些方法,有所不同,hibernate已经帮我们管理数据库的一些操作,开发更加方便。下面是我写的简单的UserinfoAction ,主要就是 增删改查 的功能实现package com.laogen.Action;import java.util.List;import org.apache.struts2.ServletActionContext;import org.hibernate.Session;import org.hibernate.Transaction;import com.laogen.Factory.UserinfoFactory;import com.laogen.Util.HibernateSessionFactory;import com.laogen.pojo.Userinfo;public class UserinfoAction private UserinfoFactory factory; private Session session = HibernateSessionFactory.getSession();private Transaction tx = session.beginTransaction(); /事务private List list;private Userinfo userinfo;public Userinfo getUserinfo() return userinfo;public void setUserinfo(Userinfo userinfo) this.userinfo = userinfo;public List getList() return list;public void setList(List list) this.list = list;/显示用户列表SuppressWarnings( unchecked, static-access )public String list()System.out.println(list方法);factory = new UserinfoFactory();list = factory.getMethod().findAll(); /findAll 方法查询所有信息 return list;/显示修改用户信息SuppressWarnings( static-access )public String update()String id = ServletActionContext.getRequest().getParameter(id); /接收要删除的idint iid = Integer.parseInt(id);factory = new UserinfoFactory();userinfo = factory.getMethod().findById(iid); /findById 是根据id查到该id的记录return update; /显示修改用户信息SuppressWarnings( static-access )public String updated()String id = ServletActionContext.getRequest().getParameter(id); /接收要删除的idString name = ServletActionContext.getRequest().getParameter(name); /接收要删除的idString pass = ServletActionContext.getRequest().getParameter(pass); /接收要删除的idint iid = Integer.parseInt(id);factory = new UserinfoFactory();userinfo = factory.getMethod().findById(iid); /findById 是根据id查到该id的记录userinfo.setName(name); userinfo.setPass(pass);try factory.getMethod().merge(userinfo); /merge 是执行修改mit();/提交事务 catch (Exception e) e.printStackTrace();tx.rollback(); finallyif(session != null)session.close();/关闭sessionreturn list(); /修改之后再重新查询一边数据/删除用户SuppressWarnings( static-access )public String delete()String id = ServletActionContext.getRequest().getParameter(id); /接收要删除的idint iid = Integer.parseInt(id);factory = new UserinfoFactory();userinfo = factory.getMethod().findById(iid);/findById 是根据id查到该id的记录try factory.getMethod().delete(userinfo);mit();/提交事务 catch (Exception e) e.printStackTrace();tx.rollback(); finallyif(session != null)session.close(); /关闭sessionreturn list(); /删除之后再重新查询一边数据/添加用户信息SuppressWarnings( static-access )public String add()String name = ServletActionContext.getRequest().getParameter(name); /接收要添加的nameString pass = ServletActionContext.getRequest().getParameter(pass); /接收要添加的passuserinfo = new Userinfo();userinfo.setName(name); userinfo.setPass(pass);try factory.getMethod().save(userinfo);mit(); /提交事务 catch (Exception e) e.printStackTrace();tx.rollback(); finallyif(session != null)session.close();/关闭sessionreturn list(); /添加之后再重新查询一边数据然后看下 struts.xml 用了个通配符 * 代码更加精简 /list.jsp/1.jsp 然后就是页面的代码,有4个页面 index.jsp、add.jsp、update.jsp、list.jspIndex.jsp (就是个连接,查询所有的信息) 登陆界面 listadd.jsp 增加员工 增加信息 信息 录入 name pass update.jps 修改 修改 项目 录入 name input type=text name=name value= input type=hidden name=id value= password input type=text name=pass value=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年功能性饮料在运动康复中心的市场推广与效果评估报告
- 中医药现代化进程中的国际市场拓展:2025年中亚市场机遇与挑战研究报告
- 2025年公共基础知识试题库带答案详解
- 2025年垃圾分类知识竞赛题库及答案大全
- 2025年大学警卫学专业题库-警卫员队伍专业化培训
- 2025年湖南省邵阳市社会工作者职业资格社会工作法规与政策真题含答案
- 基于2025年标准的智能家居系统互联互通技术深度报告
- 2025年大学华文教育专业题库- 教学评估方法与学生学业反馈
- 2025-2032年全球主要城市新能源汽车充电网络布局策略研究报告
- 2025年电气自动化练习题与答案(附解析)
- DB65-T 4803-2024 冰川厚度测量技术规范
- 护理专业新进展介绍
- 大疆无人机培训课件
- 中级消防员维保培训课件
- 小儿推拿进修总结汇报
- 2025公司应急预案演练计划(5篇)
- 医疗机构医院全员培训制度
- 2025仓库保管员试题及答案
- 生猪养殖场实施方案
- 矛盾纠纷化解培训课件
- 2025年成人高考语文试题及答案
评论
0/150
提交评论