最近和spring mvc干上了,各种奇葩问题,各种解决。。。现在想想这历程还挺艰辛的,好了,不在这墨迹了,我们进入正题。
据说,现在Springmvc很流行,既然很流行就搞搞它,看看是个什么鬼,于是就开始写了,我们先来个数据库,我这里采用的是mysql,
项目中所用到的jar文件:
ssh(Spring+Spring mvc+hibernate)的jar包
大家随意,数据库文件如下:
/*
SQLyog Professional v12.08 (32 bit)
MySQL - 5.5.27 : Database - testdb
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`testdb` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `testdb`;
/*Table structure for table `dept` */
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`loc` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
/*Data for the table `dept` */
insert into `dept`(`id`,`name`,`loc`) values (1,'开发部','山东济南'),(2,'测试部','山西吕梁'),(3,'开发部3','山东济南3'),(4,'开发部4','山东济南4'),(5,'研发部','山东淄博'),(6,'开发部6','山东济南6'),(7,'开发部7','山东济南7'),(8,'开发部8','山东济南8'),(14,'前端部','山西运城');
/*Table structure for table `emp` */
DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` (
`eid` int(11) NOT NULL AUTO_INCREMENT,
`ename` varchar(50) DEFAULT NULL,
`eage` int(11) DEFAULT NULL,
`edate` datetime DEFAULT NULL,
`did` int(11) DEFAULT NULL,
PRIMARY KEY (`eid`),
KEY `fk_dept` (`did`),
CONSTRAINT `fk_dept` FOREIGN KEY (`did`) REFERENCES `dept` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
/*Data for the table `emp` */
insert into `emp`(`eid`,`ename`,`eage`,`edate`,`did`) values (-1736410136,'李四',23,'2017-12-12 00:00:00',4),(1,'朱元璋',60,'2012-02-09 00:00:00',1),(2,'祖冲之',36,'2015-02-09 00:00:00',2),(3,'李世明',34,'2013-02-09 00:00:00',3),(4,'徐达',43,'2016-02-09 00:00:00',4),(5,'常遇春',23,'2712-02-09 00:00:00',1),(6,'李达康',45,'2018-02-09 00:00:00',2),(7,'沙瑞金',65,'2019-02-09 00:00:00',1);
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
数据库名称是testdb。
数据库已经搞定了,接下来我们要不先看看运行效果:
1.查询所有的部门:
2.添加部门:
3.修改部门:
修改成功
4.删除部门:
接下来我们看看员工的,由于是多表关联,所以比部门表的复杂点,但是也复杂不到哪里去!我们接着看:
1.显示所有的员工:
2.添加员工:
添加成功
3.修改员工:
4.删除和部门的一样,就不上图了,我困~~
接下来我们上代码:
一、实体类两个:
1.Emp.java
2.Dept.java
还有两个映射文件:
3.Emp.hbm.xml
4.Dept.hbm.xml
二、Dao层三个:
1.BaseDao
2.IDeptDao
3.IEmpDao
三、Dao实现类三个:
1.BaseDaoImpl
2.DeptDaoImpl
3.EmpDaoImpl
四、Service层2个:
1.IDeptService
2.IEmpService
五、Service实现类2个:
1.DeptServiceImpl
2.EmpServiceImpl
六、Spring配置文件2个:
1.applicationContext-servlet.xml
2.applicationContext.xml
七、hibernate配置文件1个:
1.hibernate.cfg.xml
八、web.xml
九、前台页面7个:
1.index.jsp
2.saveDept.jsp
3.saveEmp.jsp
4.showDept.jsp
5.showEmp.jsp
6.updateDept.jsp
7.updateEmp.jsp
十、控制器两个:
1.EmpController
2.DeptController.java