struts hibernate的增删改查magiczhou超详细.docx

上传人:b****7 文档编号:9529740 上传时间:2023-02-05 格式:DOCX 页数:29 大小:1.15MB
下载 相关 举报
struts hibernate的增删改查magiczhou超详细.docx_第1页
第1页 / 共29页
struts hibernate的增删改查magiczhou超详细.docx_第2页
第2页 / 共29页
struts hibernate的增删改查magiczhou超详细.docx_第3页
第3页 / 共29页
struts hibernate的增删改查magiczhou超详细.docx_第4页
第4页 / 共29页
struts hibernate的增删改查magiczhou超详细.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

struts hibernate的增删改查magiczhou超详细.docx

《struts hibernate的增删改查magiczhou超详细.docx》由会员分享,可在线阅读,更多相关《struts hibernate的增删改查magiczhou超详细.docx(29页珍藏版)》请在冰豆网上搜索。

struts hibernate的增删改查magiczhou超详细.docx

strutshibernate的增删改查magiczhou超详细

Struts2+hibernate3简单使用

由于是用MyEclipse自动生成hibernate的一些信息,所以要先进行数据库的设计

数据库名称为——hibernate_test

这里演示只用了一个表

Userinfo

表的结构如图

这里是使用Mysql的数据库大家可以自己创建

(由于在这里是使用MyEclipse来自动加入hibernate的支持,数据库要先建立好(可能实际开发中,都是手工加入hibernate框架,数据库都是由hibernate自己生成,不用自己去创建,就要写好相关的javaBean,这里不多说……))

我这里使用的Myeclipse8.6

∙首先在myeclipse中创建好一个“数据库连接信息”(不知道这样的说法正不争取,看图)(如何打开DBBrowser---window----showview---DBBrowser右键)

然后弹出一个信息框,填写相关信息,如下

Finish之后,双击打开刚刚创建的数据库连接

大家就可以看到数据库里面的信息了

 

返回界面,创建一个web项目如图:

先加入hibernate的支持。

看图(是hibernate的那个)

弹出信息框,

继续Next,保持这一步的默认就好,继续next,可以看到这个界面

然后下面的信息会自动填补上去的,继续Next,看到如下图

这个是hibernate的sessionFactory

然后就可以Finish了。

是不是步骤挺多的。

我在这写文章更烦~~

现在下图显示内容没有什么,等下我们让myeclipse自动帮我们添加信息进去

2.跳转到DBBrowser视图,如图

右键这张数据表(userinfo)

在弹出的信息框根据自己的需要,选择自己的项目和目录等。

如图

-----Next

然后再看下hibernate.cfg.xml

现在看下项目目录情况

自己新建文件夹或者包

现在的情况明显类的位置不好,需要把一些类移动到别的包上,右键要移动的UserinfoDAO.java如下:

(选中红色那个,然后移动到自己想要的包上或者文件夹上)

我们需要为UserinfoDAO.java导出接口

也是右键UserinfoDAO.java

在弹出的对话框自己选择需要的方法或者全选了也没事

然后在把这个接口类移到别的包下

我还创建了hibernate方法调用的工厂类UserinfoFactory.java(com.laogen.Factory)

publicclassUserinfoFactory{

publicstaticUserinfoServicegetMethod(){

returnnewUserinfoDAO();

}

}

hibernate的操作基本就做完了……图片好多啊晕~~

这个是我src目录下的所有文件

现在hibernate算ok了,剩下Struts2了,看下如何添加Struts2的也是跟hibernate差不多的,就是步骤有点多,不知道大家在看这篇文章的时候会不会觉得烦,如果觉得烦,也没办法的,开发这个东西就是这样。

你要知道我在电脑上敲代码和截图,不说了……

 

弹出信息框,请按照红色方框选择

剩下就是加入jsp和action了,这些基本跟前面我写的文章struts2的增删改查(不知道的可以自己去看看,就在我的XX博客上)没有多少区别,主要是action使用hibernate的一些方法,有所不同,hibernate已经帮我们管理数据库的一些操作,开发更加方便。

下面是我写的简单的UserinfoAction,主要就是增删改查的功能实现

packagecom.laogen.Action;

importjava.util.List;

importorg.apache.struts2.ServletActionContext;

importorg.hibernate.Session;

importorg.hibernate.Transaction;

importcom.laogen.Factory.UserinfoFactory;

importcom.laogen.Util.HibernateSessionFactory;

importcom.laogen.pojo.Userinfo;

publicclassUserinfoAction{

privateUserinfoFactoryfactory;

privateSessionsession=HibernateSessionFactory.getSession();

privateTransactiontx=session.beginTransaction();//事务

privateListlist;

privateUserinfouserinfo;

publicUserinfogetUserinfo(){

returnuserinfo;

}

publicvoidsetUserinfo(Userinfouserinfo){

this.userinfo=userinfo;

}

publicListgetList(){

returnlist;

}

publicvoidsetList(Listlist){

this.list=list;

}

//显示用户列表

@SuppressWarnings({"unchecked","static-access"})

publicStringlist(){

System.out.println("list方法");

factory=newUserinfoFactory();

list=factory.getMethod().findAll();//findAll方法查询所有信息

return"list";

}

//显示修改用户信息

@SuppressWarnings({"static-access"})

publicStringupdate(){

Stringid=ServletActionContext.getRequest().getParameter("id");//接收要删除的id

intiid=Integer.parseInt(id);

factory=newUserinfoFactory();

userinfo=factory.getMethod().findById(iid);//findById是根据id查到该id的记录

return"update";

}

//显示修改用户信息

@SuppressWarnings({"static-access"})

publicStringupdated(){

Stringid=ServletActionContext.getRequest().getParameter("id");//接收要删除的id

Stringname=ServletActionContext.getRequest().getParameter("name");//接收要删除的id

Stringpass=ServletActionContext.getRequest().getParameter("pass");//接收要删除的id

intiid=Integer.parseInt(id);

factory=newUserinfoFactory();

userinfo=factory.getMethod().findById(iid);//findById是根据id查到该id的记录

userinfo.setName(name);

userinfo.setPass(pass);

try{

factory.getMethod().merge(userinfo);//merge是执行修改

mit();//提交事务

}catch(Exceptione){

e.printStackTrace();

tx.rollback();

}finally{

if(session!

=null)

session.close();//关闭session

}

returnlist();//修改之后再重新查询一边数据

}

//删除用户

@SuppressWarnings({"static-access"})

publicStringdelete(){

Stringid=ServletActionContext.getRequest().getParameter("id");//接收要删除的id

intiid=Integer.parseInt(id);

factory=newUserinfoFactory();

userinfo=factory.getMethod().findById(iid);//findById是根据id查到该id的记录

try{

factory.getMethod().delete(userinfo);

mit();//提交事务

}catch(Exceptione){

e.printStackTrace();

tx.rollback();

}finally{

if(session!

=null)

session.close();//关闭session

}

returnlist();//删除之后再重新查询一边数据

}

//添加用户信息

@SuppressWarnings({"static-access"})

publicStringadd(){

Stringname=ServletActionContext.getRequest().getParameter("name");//接收要添加的name

Stringpass=ServletActionContext.getRequest().getParameter("pass");//接收要添加的pass

userinfo=newUserinfo();

userinfo.setName(name);

userinfo.setPass(pass);

try{

factory.getMethod().save(userinfo);

mit();//提交事务

}catch(Exceptione){

e.printStackTrace();

tx.rollback();

}finally{

if(session!

=null)

session.close();//关闭session

}

returnlist();//添加之后再重新查询一边数据

}

}

然后看下struts.xml用了个通配符*代码更加精简

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http:

//struts.apache.org/dtds/struts-2.1.dtd">

/list.jsp

/{1}.jsp

然后就是页面的代码,有4个页面index.jsp、add.jsp、update.jsp、list.jsp

Index.jsp(就是个连接,查询所有的信息)

<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

登陆界面

list

add.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>

<%@taglibprefix="s"uri="/struts-tags"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

增加员工

 增加信息

formname="myForm"action="Userinfo_add"method="post">

信息

录入

name


100%;">

pass

100%;">


   

   

onclick="window.location.href='javascript:

history.go(-1)'">

form>

update.jps

<%@pagelanguage="java"pageEncoding="utf-8"%>

<%@tagliburi="/struts-tags"prefix="s"%>

 

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

修改

修改

iteratorvalue="userinfo">

formname="myForm"action="Userinfo_updated"method="post">

项目

录入

name


propertyvalue='name'/>'>

propertyvalue='id'/>">

password

propertyvalue='pass'/>">


   

   

onclick="window.location.href='javascript:

history.go(-1)'">

form>

iterator>

list.jsp

<%@pagelanguage="java"pageEncoding="UTF-8"%>

<%@tagliburi="/struts-tags"prefix="s"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

查询所以信息界面

用户信息

number

name

password

operate

iteratorvalue="list"status="status">

propertyvalue="#status.index+1"/>

propertyvalue="name"/>

propertyvalue="pass"/>

id='+

propertyvalue="id"/>">

propertyvalue="name"/>]吗?

')==true){window.location.href='Userinfo_delete?

id='+

propertyvalue="id"/>}">

iterator>

终于完了谢谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1