Struts2hibernate实现用户登录和增删改查案例精.docx
- 文档编号:13902946
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:22
- 大小:18.89KB
Struts2hibernate实现用户登录和增删改查案例精.docx
《Struts2hibernate实现用户登录和增删改查案例精.docx》由会员分享,可在线阅读,更多相关《Struts2hibernate实现用户登录和增删改查案例精.docx(22页珍藏版)》请在冰点文库上搜索。
Struts2hibernate实现用户登录和增删改查案例精
Struts2+hibernate实现用户登录和增删改查案例
Struts2+hibernate实现用户登录和增删改查案例
开发工具MyEclipse 10.7.1
创建一个项目 web项目project。
部署好Struts2的开发环境:
1、引入需要的类库文件 jar
2、添加struts2的配置文件 struts.xml //src路径 :
classespath:
3、在web.xml添加启动struts2 MVC框架的过滤器
4、添加Hibernate所依赖的jar文件
(注意:
如果Hibernate添加的jar文件与struts2添加jar文件 名称完全一致(只需其中之一(版本不一致保留高本版
5、同样添加hibernate的配置文件
Classespath:
src路径下面
6、需要添加对应数据库操作的驱动文件jar
在此基础上 对 admin这个类 完成 增删改查的操作。
在src下搭建开发框架,如图所示:
struts.xml文件:
xml version="1.0" encoding="UTF-8"?
>
DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http:
//struts.apache.org/dtds/struts-2.3.dtd">
struts>
struts-admin.xml文件:
xml version="1.0" encoding="UTF-8"?
>
DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http:
//struts.apache.org/dtds/struts-2.3.dtd">
method="login"> action> method="getAllObjects"> action> action> adminlist.actionparam> result> action> adminlist.actionparam> result> action> action> adminlist.actionparam> result> action> package> struts> hibernate.cfg.xml文件: xml version="1.0" encoding="UTF-8"? > DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http: //www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> jdbc: mysql: //localhost: 3306/bookstore property> com.mysql.jdbc.Driver property> org.hibernate.dialect.MySQLDialect property> session-factory> hibernate-configuration> web.xml文件: xml version="1.0" encoding="UTF-8"? > xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" filter> filter-mapping> welcome-file-list> web-app> 首先,domain层(www.csdn.project.domain)的编写; Admin.java文件: package www.csdn.project.domain; public class Admin implements java.io.Serializable { /** * */ private static final long serialVersionUID = 1L; private Integer adminId; private String adminName; private String adminPassword; public Admin( { } public Admin(String adminName, String adminPassword { this.adminName = adminName; this.adminPassword = adminPassword; } public Admin(String adminName, String adminPassword, String adminEmail { this.adminName = adminName; this.adminPassword = adminPassword; } public Integer getAdminId( { return this.adminId; } public void setAdminId(Integer adminId { this.adminId = adminId; } public String getAdminName( { return this.adminName; } public void setAdminName(String adminName { this.adminName = adminName; } public String getAdminPassword( { return this.adminPassword; } public void setAdminPassword(String adminPassword { this.adminPassword = adminPassword; } @Override public String toString( { return "Admin [adminId=" + adminId + ", adminName=" + adminName + ", adminPassword=" + adminPassword + "]"; } } Admin.hbm.xml配置文件; xml version="1.0" encoding="utf-8"? > DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" " id> property> property> class> hibernate-mapping> dao层(www.csdn.project.dao)的编写; AdminDAO.java文件: (封装了查看所有用户信息的方法) package www.csdn.project.dao; import java.util.List; import www.csdn.project.domain.Admin; public interface AdminDAO extends BaseDAO { public Admin login(String adminName,String adminPass; public Admin findById(Integer id; public List findAdminPage(int nowPage,int pageSize; } 然后,BaseDAO.java文件: (这里封装了对用户进行增删改查的方法) package www.csdn.project.dao; import java.util.List; public interface BaseDAO { public List getAllObjects(Class entityClass; public T getObjectById(Class entityClass,PK id; public T loadObjectById(Class entityClass,PK id; public void saveObject(T entity; public void deleteObject(T entity; public void deleteObjectById(PK id; public void updateObject(T entity; } 下面是实现两个类中的方法的AdminDAOImpl.java文件: package www.csdn.project.dao; import java.util.List; import www.csdn.project.domain.Admin; import www.csdn.project.util.BaseHibernateDAO; import www.csdn.project.util.HiberSessionFactory; public class AdminDAOImpl extends BaseHibernateDAO implements AdminDAO { public Admin login(String adminName, String adminPass { Admin entity=null; try{ entity = (Admin getSession( .createQuery( "from Admin a where a.adminName=: adminName and a.adminPassword=: adminPassword" .setParameter("adminName", adminName.setParameter( "adminPassword", adminPass.uniqueResult(; }catch (RuntimeException e { HiberSessionFactory.closeSession(; } return entity; } public List findAdminPage(int nowPage, int pageSize { return null; } public Admin findById(Integer id { return null; } @SuppressWarnings("unchecked" public List getAllObjects(Class entityClass { List entities=null; try{ entities = getSession(.createCriteria(entityClass.list(; }catch (RuntimeException e { HiberSessionFactory.closeSession(; } return entities; } public Admin getObjectById(Class entityClass, Integer id { Admin entities=null; try{ entities=(Admin getSession(.get(entityClass, id; }catch (RuntimeException e { HiberSessionFactory.closeSession(; } return entities; } public Admin loadObjectById(Class entityClass, Integer id { Admin entities=null; try{ entities=(Admin getSession(.load(entityClass, id; }catch (RuntimeException e { HiberSessionFactory.closeSession(; } return entities; } public void saveObject(Admin entity { getSession(.save(entity; } public void deleteObject(Admin entity { getSession(.delete(entity; } public void deleteObjectById(Integer id { //this.getSession(.delete(this.getObjectById(Admin.class, id; } public void updateObject(Admin entity { getSession(.update(entity; } } 这样dao层完成了其作用。 Service层(www.csdn.project.service)事务层的编写; AdminService.java文件: package www.csdn.project.service; import java.util.List; import www.csdn.project.domain.Admin; public interface AdminService extends BaseService { public Admin login(String adminName,String adminPass; public List findAdminPage(int nowPage,int pageSize; } BaseService.java文件: package www.csdn.project.service; import java.util.List; public interface BaseService { public List getAllObjects(Class entityClass; public T getObjectById(Class entityClass,PK id; public T loadObjectById(Class entityClass,PK id; public void saveObject(T entity; public void deleteObject(T entity; public void deleteObjectById(PK id; public void updateObject(T entity; } AdminServiceImpl.java文件: package www.csdn.project.service; import java.util.List; import org.hibernate.Transaction; import www.csdn.project.dao.AdminDAO; import www.csdn.project.dao.AdminDAOImpl; import www.csdn.project.domain.Admin; import www.csdn.project.util.BaseHibernateDAO; import www.csdn.project.util.HiberSessionFactory; public class AdminServiceImpl extends BaseHibernateDAO implements AdminService{ private AdminDAO adminDAO = new AdminDAOImpl(; public Admin login(String adminName, String adminPass { return adminDAO.login(adminName, adminPass; } public List findAdminPage(int nowPage, int pageSize { return null; } public List getAllObjects(Class entityClass { return adminDAO.getAllObjects(entityClass; } public Admin getObjectById(Class entityClass, Integer id {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts2hibernate 实现 用户 登录 增删 案例