我这里使用的数据库是mysql5.0 数据是上课用的。这些都不是重点,重要的是学会这个方法;

创建好数据库:

create database jboadefault character set utf8;

show create database jboa1;

然后执行数据脚本

/*
Navicat MySQL Data Transfer

Source Server         : MysqlLoal
Source Server Version : 50022
Source Host           : localhost:3306
Source Database       : jboa1

Target Server Type    : MYSQL
Target Server Version : 50022
File Encoding         : 65001

Date: 2014-05-26 07:22:09
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for biz_account
-- ----------------------------
DROP TABLE IF EXISTS `biz_account`;
CREATE TABLE `biz_account` (
  `id` int(11) NOT NULL auto_increment,
  `usr_id` varchar(13) default NULL,
  `acc_type` varchar(2) default NULL,
  `acc_money` double default NULL,
  `sheet_id` varchar(13) default NULL,
  `acc_time` datetime default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of biz_account
-- ----------------------------

-- ----------------------------
-- Table structure for biz_check_result
-- ----------------------------
DROP TABLE IF EXISTS `biz_check_result`;
CREATE TABLE `biz_check_result` (
  `id` bigint(20) NOT NULL auto_increment,
  `checker_sn` varchar(20) NOT NULL COMMENT '审核人',
  `sheet_type` varchar(20) NOT NULL COMMENT '单据类型',
  `sheet_id` bigint(20) NOT NULL COMMENT '单据编号',
  `check_time` datetime NOT NULL COMMENT '审核时间',
  `type` varchar(20) NOT NULL COMMENT '审核类型',
  `result` varchar(20) NOT NULL COMMENT '审核结果',
  `comm` varchar(255) default NULL COMMENT '审核意见',
  PRIMARY KEY  (`id`),
  KEY `FK5E0EAAE06F568938` (`checker_sn`),
  CONSTRAINT `FK5E0EAAE06F568938` FOREIGN KEY (`checker_sn`) REFERENCES `sys_employee` (`sn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of biz_check_result
-- ----------------------------

-- ----------------------------
-- Table structure for biz_claim_voucher
-- ----------------------------
DROP TABLE IF EXISTS `biz_claim_voucher`;
CREATE TABLE `biz_claim_voucher` (
  `id` bigint(20) NOT NULL auto_increment,
  `create_sn` varchar(20) NOT NULL COMMENT '填报人',
  `next_deal_sn` varchar(20) default NULL COMMENT '待处理人',
  `create_time` date NOT NULL COMMENT '填写时间',
  `event` varchar(255) NOT NULL COMMENT '事由',
  `total_account` double NOT NULL COMMENT '总金额',
  `status` varchar(20) NOT NULL COMMENT '状态',
  PRIMARY KEY  (`id`),
  KEY `FKF5F9537FB1925E91` (`create_sn`),
  KEY `FKF5F9537F34489BD5` (`next_deal_sn`),
  CONSTRAINT `FKF5F9537F34489BD5` FOREIGN KEY (`next_deal_sn`) REFERENCES `sys_employee` (`sn`),
  CONSTRAINT `FKF5F9537FB1925E91` FOREIGN KEY (`create_sn`) REFERENCES `sys_employee` (`sn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of biz_claim_voucher
-- ----------------------------

-- ----------------------------
-- Table structure for biz_claim_voucher_detail
-- ----------------------------
DROP TABLE IF EXISTS `biz_claim_voucher_detail`;
CREATE TABLE `biz_claim_voucher_detail` (
  `id` bigint(20) NOT NULL auto_increment,
  `main_id` bigint(20) NOT NULL COMMENT '报销单(主单)编号',
  `item` varchar(20) NOT NULL COMMENT '项目',
  `account` double NOT NULL COMMENT '金额',
  `des` varchar(200) NOT NULL COMMENT '费用说明',
  PRIMARY KEY  (`id`),
  KEY `FKEC02A511C5CE4518` (`main_id`),
  CONSTRAINT `FKEC02A511C5CE4518` FOREIGN KEY (`main_id`) REFERENCES `biz_claim_voucher` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of biz_claim_voucher_detail
-- ----------------------------

-- ----------------------------
-- Table structure for sys_department
-- ----------------------------
DROP TABLE IF EXISTS `sys_department`;
CREATE TABLE `sys_department` (
  `id` int(11) NOT NULL auto_increment,
  `manager_sn` varchar(20) default NULL COMMENT '部门经理',
  `name` varchar(45) NOT NULL COMMENT '部门名称',
  PRIMARY KEY  (`id`),
  KEY `FK1AC9880422A0A640` (`manager_sn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of sys_department
-- ----------------------------
INSERT INTO `sys_department` VALUES ('1', '1', '1');

-- ----------------------------
-- Table structure for sys_dictionary
-- ----------------------------
DROP TABLE IF EXISTS `sys_dictionary`;
CREATE TABLE `sys_dictionary` (
  `id` bigint(20) NOT NULL auto_increment,
  `type` varchar(20) NOT NULL,
  `item` varchar(20) NOT NULL,
  `value` varchar(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of sys_dictionary
-- ----------------------------

-- ----------------------------
-- Table structure for sys_employee
-- ----------------------------
DROP TABLE IF EXISTS `sys_employee`;
CREATE TABLE `sys_employee` (
  `sn` varchar(20) NOT NULL,
  `department_id` int(11) NOT NULL COMMENT '部门',
  `position_id` int(11) NOT NULL COMMENT '职务编号',
  `password` varchar(45) NOT NULL COMMENT '密码',
  `name` varchar(45) NOT NULL COMMENT '姓名',
  `status` varchar(20) NOT NULL COMMENT '状态',
  PRIMARY KEY  (`sn`),
  KEY `FKDE6BAFE015B8AA9F` (`department_id`),
  KEY `FKDE6BAFE019C7389` (`position_id`),
  CONSTRAINT `FKDE6BAFE015B8AA9F` FOREIGN KEY (`department_id`) REFERENCES `sys_department` (`id`),
  CONSTRAINT `FKDE6BAFE019C7389` FOREIGN KEY (`position_id`) REFERENCES `sys_position` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of sys_employee
-- ----------------------------
INSERT INTO `sys_employee` VALUES ('admin', '1', '1', 'admin', 'admin', '1');

-- ----------------------------
-- Table structure for sys_position
-- ----------------------------
DROP TABLE IF EXISTS `sys_position`;
CREATE TABLE `sys_position` (
  `id` int(11) NOT NULL auto_increment,
  `name_cn` varchar(45) NOT NULL COMMENT '职务名称(中文)',
  `name_en` varchar(45) NOT NULL COMMENT '职务名称(英文)',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of sys_position
-- ----------------------------
INSERT INTO `sys_position` VALUES ('1', '管理员', 'admin');

创建好Web Project后,加入Hibernate支持



选择配置好的数据库:

new 新建一个包:

添加Spring支持:

下面的意思是 : 在配置文件里面创建sessionFactory的引用

反向生成Hibernate 实体类: 右上角却换到Databse Explorer perspective 视图模式 下

选择要生成的表 右击 → Hibernate Reverse Engineering

MySql的主键自动生成策略可以用identity 或者native

需要改生成的类的 类名或者属性名 可以在这里改,一般我们要修改一下实体类的类名,因为有时候不可以和数据库一样的名字;

这里要指定主键类型,因为这个类主键不是自动生成的 是手动添加的,其他不用指定默认是前面指定的(自动生成)。

将自动生成的 类 和配置文件 都整理到com.jboa.model包中

将所有配置文件hbm.xml前面加上整理到的 包

<hibernate-mapping package="com.jboa.model">

然后将他们都配置到hibernate.cfg.xml文件可以直接选中配置文件然后拖拽到图形化界面的Hibernate配置文件,如图:

<mapping resource="com/jboa/model/Employee.hbm.xml" />

…..

在web.xml加上Spring的监听器

<!-- 整合Spring -->
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

添加Struts2支持

整合好了。



添加dao接口

public interface EmployeeDao extends Serializable {
	public Employee findById(String sn);
}

添加接口的实现类

public class EmployeeDaoImpl extends HibernateDaoSupport implements EmployeeDao {

	public Employee findById(String sn) {
		return this.getHibernateTemplate().get(Employee.class, sn);
	}

}

在Spring配置文件applicationContext.xml 配置HibernateDaoSupport的sessionFactory

<bean id="employeeDao" class="com.jboa.dao.impl.EmployeeDaoImpl" depends-on="sessionFactory">
		<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

创建Action ( EmployeeAction )

	private Employee employee;

	private EmployeeDao employeeDao;

	//设置set方法,这样在Spring配置文件就可以配置值了
	public void setEmployeeDao(EmployeeDao employeeDao) {
		this.employeeDao = employeeDao;
	}

	//登陆验证
	public String login() {
		Employee e = employeeDao.findById(employee.getSn());
		if (e != null && employee.getPassword().equals(e.getPassword())) {
			ActionContext.getContext().getSession().put("loginUser", e);
			return SUCCESS;
		}
		return INPUT;
	}

	public Employee getEmployee() {
		return employee;
	}

	public void setEmployee(Employee employee) {
		this.employee = employee;
	}

在dao的实现类实现findById方法

public class EmployeeDaoImpl extends HibernateDaoSupport implements EmployeeDao {

	public Employee findById(String sn) {
		return this.getHibernateTemplate().get(Employee.class, sn);
	}

}

在Spring的配置文件applicationContext.xml配置

<!-- scope="prototype"多例,表示每次使用都创建一个新的,单例则不创建新的 -->
	<bean id="employeeAction"  class="com.jboa.action.EmployeeAction" scope="prototype">
		<property name="employeeDao" ref="employeeDao"></property>
	</bean>

配置struts.xml文件

	<constant name="struts.devMode" value="true"></constant>
	<package name="jboa" extends="struts-default" namespace="/">
		<action name="login" class="employeeAction" method="login" >
			<result>/index.jsp</result>
			<result name="input">/login.jsp</result>
		</action>
	</package>

这样就可以了 接下来在WebRoot创建登陆页面测试 login.jsp,在数据库employee表添加登陆测试数据

<form action="login" method="post">
    	登陆名:<input name="employee.sn" /><br/>
    	密码:<input type="password" name="employee.password" /><br/>
    	<input type="submit" />
   </form>

测试 部署启动tomcat,访问login.jsp,登陆成功;

成功!

使用Myeclipse10.0自动生成搭建SSH框架(数据库表自动反向转换成Hibernate实体)实现用户登陆的更多相关文章

  1. 搭建SSH框架整合Struts2和Spring时,使用@Autowired注解无法自动注入

    © 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: 搭建SSH框架,在进行Struts2和Spring整合时,使用Spring的@Autowired自动注入失败,运行报错java.lan ...

  2. [JavaEE] SSH框架笔记_eclipse搭建SSH框架详解

    SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程. 第一步:准备工作. 下载好eclipse,Struts2,Spring,Hibe ...

  3. Maven环境下搭建SSH框架

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Maven:3.3.9 Struts2:2.5.10 Spring:4.3.8.RELEASE Hibernate:5.1.7.Fina ...

  4. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  5. eclipse Indigo搭建SSH框架详解

    SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程. 第一步:准备工作.   下载好eclipse,Struts2,Spring,Hi ...

  6. Java之基于Eclipse搭建SSH框架(下)

    在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客<Java之基于Eclipse搭建SSH框架(上)>.今天我们接着上篇博客滴内容. ...

  7. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

  8. myeclipse搭建SSH框架

    搭建SSH框架 Struts+hibernater+spring架构(myeclipse) 右击,首先加入spring,加入hibernater,再加入struts2 复制jar包(把tomcat发布 ...

  9. ODOO v10.0 自动生成财务凭证的科目设置

    ODOO v10.0 自动生成财务凭证的科目设置 可以在产品类别及产品档案里设置,建议在产品类别下设置,方便维护. 项目 设置为(具体科目以公司科目表为主) 对应作用业务 Income Account ...

随机推荐

  1. java.sql.SQLException: null, message from server: "Host '192.168.126.100' is not allowed to connect to this MySQL server"

  2. 深入探索.NET框架内部了解CLR如何创建运行时对象

    原文地址:http://msdn.microsoft.com/en-us/magazine/cc163791.aspx 原文发布日期: 9/19/2005 原文已经被 Microsoft 删除了,收集 ...

  3. ●SPOJ 8222 NSUBSTR–Substrings

    题链: http://www.spoj.com/problems/NSUBSTR/题解: 后缀自动机. 不难发现,对于自动机里面的一个状态s, 如果其允许的最大长度为maxs[s],其right集合的 ...

  4. Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined)

    运气好,分到的房里我最先开始Hack C题,Hack了12个,听说F题沙雕莫队但我不会,最后剩不到15分钟想出E题做法打了一波结果挂了,最后虽然上分了但总有点不甘心. 最后A掉ABCD Hack+12 ...

  5. ●BZOJ 3172 [Tjoi2013]单词

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3172 题解: 把单词逐个接起来,中间用互不相同的字符连接,并记录下每个单词的首字母在串中的位 ...

  6. 阿里云负载均衡SSL证书配置

    阿里云负载均衡SSL证书 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/8908461.html 好久了呢,距上篇博客的这段时间中:考试.搬家.工作赶工.业务考察 ...

  7. spring 自定义事件发布及监听(简单实例)

    前言: Spring的AppilcaitionContext能够发布事件和注册相对应的事件监听器,因此,它有一套完整的事件发布和监听机制. 流程分析: 在一个完整的事件体系中,除了事件和监听器以外,还 ...

  8. Arduino抢答器

    0.部分需要掌握的知识点和注意事项 (1)面包板的结构 (2)按键的结构:按键按下时,左右两侧连通:按键松开后,左右两侧断开,但1号与2号相连,3号与4号相连,即按键松开时,同侧不相连,相连不同侧. ...

  9. Thread类中的静态方法

    1.currentThread() currentThread()方法返回的是对当前正在执行线程对象的引用. package thread; /** * 线程类的构造方法.静态块是被main线程调用的 ...

  10. centos7 支持中文显示

    http://www.linuxidc.com/Linux/2017-07/145572.htm这篇文章比较全.我印证了一下,没有问题 centos7的与centos6有少许不同: 1.安装中文包: ...