资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 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 右键)然后弹出一个信息框,填写相关信息,如下2 3/20/2012Finish 之后,双击打开刚刚创建的数据库连接大家就可以看到数据库里面的信息了返回界面,创建一个 web 项目 如图:3 3/20/2012先加入 hibernate 的支持。看图(是 hibernate 的那个)4 3/20/2012弹出信息框,5 3/20/2012继续 Next ,保持这一步的默认就好,继续 next,可以看到这个界面6 3/20/2012然后下面的信息会自动填补上去的,继续 Next ,看到如下图这个是 hibernate 的 sessionFactory 7 3/20/2012然后就可以 Finish 了。 是不是步骤挺多的。 我在这写文章更烦 现在下图显示内容没有什么,等下我们让 myeclipse 自动帮我们添加信息进去2跳转到 DB Browser 视图,如图8 3/20/2012右键这张数据表(userinfo )在弹出的信息框根据自己的需要,选择自己的项目和目录等。 。 。如图9 3/20/2012- Next10 3/20/2012然后再看下 hibernate.cfg.xml11 3/20/2012现在看下项目目录情况自己新建文件夹或者包现在的情况明显类的位置不好,需要把一些类移动到别的包上 ,右键要移动的UserinfoDAO.java 如下:(选中红色那个,然后移动到自己想要的包上或者文件夹上)我们需要为 UserinfoDAO.java 导出接口也是右键 UserinfoDAO.java 12 3/20/2012在弹出的对话框自己选择需要的方法 或者全选了也没事然后在把这个接口类移到别的包下我还创建了 hibernate 方法调用的工厂类 UserinfoFactory.java(com.laogen.Factory)public class UserinfoFactory 13 3/20/2012public static UserinfoService getMethod()return new UserinfoDAO();hibernate 的操作基本就做完了图片好多啊 晕 这个是我 src 目录下的所有文件现在 hibernate 算 ok 了,剩下 Struts2 了,看下如何添加 Struts2 的 也是跟 hibernate 差不多的,就是步骤有点多,不知道大家在看这篇文章的时候会不会觉得烦,如果觉得烦,也没办法的,开发这个东西就是这样。你要知道我在电脑上敲代码和截图,不说了14 3/20/2012弹出信息框,请按照红色方框选择15 3/20/2012剩下就是加入 jsp 和 action 了,这些基本跟前面我写的文章 struts2 的增删改查 (不知道16 3/20/2012的可以自己去看看,就在我的百度博客上)没有多少区别,主要是 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;17 3/20/2012public 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); /接收要删除18 3/20/2012的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 是执行修改tx.commit();/提交事务 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);tx.commit();/提交事务 catch (Exception e) e.printStackTrace();tx.rollback(); finally19 3/20/2012if(session != null)session.close(); /关闭sessionreturn list(); /删除之后再重新查询一边数据/添加用户信息SuppressWarnings( static-access )public String add()String name = ServletAction
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号