博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring+springmvc+hibernate 礼品管理系统
阅读量:5011 次
发布时间:2019-06-12

本文共 6624 字,大约阅读时间需要 22 分钟。

spring+springmvc+hibernate template礼品管理系统

1.简单介绍

    如标题所示,这篇文章简单写了一个基于spring+springmvc+hibernate template的礼品管理系统,适合初学者,这是我的第三篇文章,希望可以通过这篇文章让同学了解这个系统基本流程,虽然逐渐退出主流,但是还有很多地方思路值得我们学习。如有兴趣,可以随时联系我:1763907618.

2.环境搭建

    我的项目测试成功,前台jsp,没有美化,主要是后台功能都能实现。

    jdk:1.6;

    数据库:mysql5.6;

    基于hibernate的jar包,cglib.jar可能还会有冲突,每次发布项目需要删除。

    基于springmvc的jar包,

 

3.成果基本样式

4.详细内容

    HibernateTemplate的常用方法。

    delete(Object entity): 删除指定持久化实例。
    find(String queryString): 根据 HQL 查询字符串来返回实例集合。
    save(Object entity): 保存新的实例。
    update(Object entity): 更新实例的状态,要求entity 是持久状态。

主要就是一个增删改查的过程。上面这四个是我们常用方法。

因为我的项目用到了hibernate的逆向工程,所以数据库是自动生成。

下面就写一个登录实例,因为登录是一个查询的过程,所以我们将用find方法。

a.创建项目,导入jar包,这些我就不介绍了。

b.创建

com.controller,

com.dao,

com.model,

com.service

包,在里面分别建立java

usercontroller,

userdao,

user,

userservice

注意开头大写。

c.编写hibernate.cfg.xml

 

org.hibernate.dialect.MySQLDialect
jdbc:mysql://localhost:3306/bgift?useUnicode=true&characterEncoding=UTF-8
root
1478
com.mysql.jdbc.Driver
Bgift
true
true
update
true
/其中 mapping class="com.model.User"是要注意的。路径问题。
  
d.编写web.xml
log4jConfigLocation
/WEB-INF/classes/log4j.properties
log4jRefreshInterval
60000
org.springframework.web.util.Log4jConfigListener
mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/applicationContext.xml
1
mvc
*.do
org.springframework.web.context.ContextLoaderListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*
index.jsp

  e.编写applicationContext.xml

  f.编写com.model.user.java

package com.model;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="user")public class User {	int id;    String username;    String password;    @Id    @Column    @GeneratedValue(strategy=GenerationType.AUTO)	public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	@Column    public String getUsername() {		return username;	}	public void setUsername(String username) {		this.username = username;	}	 @Column	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}	 	    }

  g.编写com.model.userdao.java

package com.dao;import java.util.Date;import java.util.List;import javax.annotation.Resource;import org.hibernate.SessionFactory;import org.springframework.orm.hibernate3.HibernateTemplate;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import org.springframework.stereotype.Repository; import com.model.User;@Repositorypublic class UserDao extends HibernateDaoSupport{	@Resource    public void setSessionFactoryOverride(SessionFactory sessionFactory){	    super.setSessionFactory(sessionFactory);	}/*登录*//*登录**登录*/	@SuppressWarnings("unchecked")	public List
userlogin(User user){ String hql= "from User where username=? and password=?"; List
t=this.getHibernateTemplate().find(hql,new Object[]{user.getUsername(),user.getPassword()}); return t; }}

 h.编写com.model.userservice.java 

package com.service;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Component; import com.dao.UserDao;import com.model.User;@Componentpublic class UserService {	@Resource	UserDao userdao;	public UserDao getUserdao() {		return userdao;	}	public void setUserdao(UserDao userdao) {		this.userdao = userdao;	}/*登录*//*登录*//*登录*/	public List
userlogin(User user){ return userdao.userlogin(user); }}

  i.编写com.model.usercontroller.java

 

package com.Controller;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.annotation.Resource;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping; import com.model.User;import com.service.UserService;@Controllerpublic class UserController {	@Resource	UserService userService;	public UserService getUserService() {		return userService;	}	public void setUserService(UserService userService) {		this.userService = userService;	}/*登录*//*登录*/	@RequestMapping("userlogin.do")	public String findAll(HttpSession session,User user,HttpServletResponse response){	    List
listuser = userService.userlogin(user); if(listuser.size()>0){ session.setAttribute("listuser", listuser); return "loginsuccess"; }else{ response.setContentType("text/html; charset=UTF-8"); //转码 PrintWriter out; try { out = response.getWriter(); out.flush(); out.println("
"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return "index"; } }}

 

  j.编写前台index.jsp

 

 

k.编写前台loginsuccess.jsp 添加${sessionScope.listuser[0].username} 接受后台传来的session.setAttribute("listuser", listuser);值。

 

5.总结

   一个登录写完,其实我只是把文件中的一部分赋值过来,便于了解。

在写这个系统之前,有过很多问题:

  a.路径问题,return 后面接jsp路径的话,要把路径写对,在提交时候XXX.do要写对。否则404。

  b.jar包冲突问题,当初困扰我很久,后来把冲突包删除,再发布后还会出现,索性把jar包都放到lib文件夹下。

  c.乱码,在web.xml下配置,相互传值要注意。比较好改。

最后:文档只是一部分,如有需要请联系1763907618。记得关注和点赞,谢谢各位。

转载于:https://www.cnblogs.com/wangyongping/p/10006295.html

你可能感兴趣的文章
html幻灯效果页面
查看>>
row_number() over partition by 分组聚合
查看>>
MapRedue详细工作流程
查看>>
太可怕了!黑客是如何攻击劫持安卓用户的DNS?
查看>>
nginx在Windows环境安装
查看>>
MVC案例——删除操作
查看>>
Timer和TimerTask的使用--2
查看>>
对于软件工程的理解
查看>>
[题解]Crazy Binary String-前缀和(2019牛客多校第三场B题)
查看>>
Bugtags 让你的 APP 测试轻松、上线安心
查看>>
iOS--App功耗优化
查看>>
前端理解控制反转ioc
查看>>
c# 控制台输出txt文件
查看>>
JSF--INTRODUCION
查看>>
矩阵中的最长上升序列——Longest Continuous Increasing Subsequence II
查看>>
Activiti进阶(九)——接收任务(ReceiveTask)
查看>>
Git(五):Git分支管理策略
查看>>
Git笔记
查看>>
UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等)
查看>>
Android学习笔记39:Android四大组件之Service
查看>>