基于ssm的学生宿舍管理系统
分享之前写的一个项目,学生宿舍管理系统。
开发环境
开发软件 idea 也可以用eclipse导入前端 lyaui后端 spring springmvc mybatis分页用的pagehelpermaven管理项目tomcat 7数据库库 mysql 5.7
效果图
完整的目录结构
mysql数据库
依次是管理员表,登录日志,班级表,打扫记录表,宿舍表,维修记录表,菜单表,角色表,中间表,学生表。下面是菜单表:
pom文件
<?xml version
="1.0" encoding
="UTF-8"?>
<project xmlns
="http://maven.apache.org/POM/4.0.0" xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi
:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion
>
<groupId>com
.mecol
.demo
</groupId
>
<artifactId>ssm_mysql_hotel
</artifactId
>
<version>1.0-SNAPSHOT
</version
>
<packaging>war
</packaging
>
<name>SSM_demo Maven Webapp
</name
>
<!-- FIXME change it to the project's website
-->
<url>http
://www
.example
.com
</url
>
<properties>
<project
.build
.sourceEncoding
>UTF
-8</project
.build
.sourceEncoding
>
<maven
.compiler
.source
>1.7</maven
.compiler
.source
>
<maven
.compiler
.target
>1.7</maven
.compiler
.target
>
</properties
>
<dependencies>
<!-- spring 依赖包
-->
<!-- spring web jar包
-->
<dependency>
<groupId>org
.springframework
</groupId
>
<artifactId>spring
-web
</artifactId
>
<version>4.3.8.RELEASE
</version
>
</dependency
>
<!-- spring aop jar包
-->
<dependency>
<groupId>org
.springframework
</groupId
>
<artifactId>spring
-aop
</artifactId
>
<version>4.3.8.RELEASE
</version
>
</dependency
>
<!-- spring 驱动jar包
-->
<dependency>
<groupId>org
.springframework
</groupId
>
<artifactId>spring
-jdbc
</artifactId
>
<version>4.3.8.RELEASE
</version
>
</dependency
>
<!-- spring mvc 依赖包
-->
<dependency>
<groupId>org
.springframework
</groupId
>
<artifactId>spring
-webmvc
</artifactId
>
<version>4.3.8.RELEASE
</version
>
</dependency
>
<!-- mybatis 依赖包
-->
<!--mybatis jar包
-->
<dependency>
<groupId>org
.mybatis
</groupId
>
<artifactId>mybatis
</artifactId
>
<version>3.4.6</version
>
</dependency
>
<!-- mybatis spring
-->
<dependency>
<groupId>org
.mybatis
</groupId
>
<artifactId>mybatis
-spring
</artifactId
>
<version>1.3.2</version
>
</dependency
>
<!-- 连接数据库驱动的jar包 我这里使用的是 jtds链接sqlserver数据库的驱动包
-->
<dependency>
<groupId>net
.sourceforge
.jtds
</groupId
>
<artifactId>jtds
</artifactId
>
<version>1.2.4</version
>
</dependency
>
<!-- MySql
-->
<dependency>
<groupId>mysql
</groupId
>
<artifactId>mysql
-connector
-java
</artifactId
>
<version>8.0.11</version
>
</dependency
>
<!-- 连接接池 c3p0
-->
<dependency>
<groupId>com
.mchange
</groupId
>
<artifactId>c3p0
</artifactId
>
<version>0.9.5.2</version
>
</dependency
>
<!--调试输出的log4j
-->
<dependency>
<groupId>log4j
</groupId
>
<artifactId>log4j
</artifactId
>
<version>1.2.17</version
>
</dependency
>
<!-- jstl jar包
-->
<dependency>
<groupId>javax
.servlet
</groupId
>
<artifactId>jstl
</artifactId
>
<version>1.2</version
>
</dependency
>
<!-- jackson begin
-->
<dependency>
<groupId>com
.fasterxml
.jackson
.core
</groupId
>
<artifactId>jackson
-databind
</artifactId
>
<version>2.8.8</version
>
</dependency
>
<dependency>
<groupId>org
.apache
.commons
</groupId
>
<artifactId>commons
-lang3
</artifactId
>
<version>3.7</version
>
</dependency
>
<dependency>
<groupId>org
.codehaus
.groovy
</groupId
>
<artifactId>groovy
-all
</artifactId
>
<version>2.2.2</version
>
</dependency
>
<dependency>
<groupId>org
.apache
.poi
</groupId
>
<artifactId>poi
</artifactId
>
<version>3.7</version
>
</dependency
>
<!--下面两个包 解决采用
@ResponseBody 前台ajax请求 报错
406-->
<dependency>
<groupId>org
.codehaus
.jackson
</groupId
>
<artifactId>jackson
-core
-asl
</artifactId
>
<version>1.8.5</version
>
</dependency
>
<dependency>
<groupId>org
.codehaus
.jackson
</groupId
>
<artifactId>jackson
-mapper
-asl
</artifactId
>
<version>1.8.5</version
>
</dependency
>
<!--分页查询的工具
-->
<dependency>
<groupId>com
.github
.pagehelper
</groupId
>
<artifactId>pagehelper
</artifactId
>
<version>4.1.4</version
>
</dependency
>
<!-- json处理工具包
-->
<dependency>
<groupId>com
.google
.code
.gson
</groupId
>
<artifactId>gson
</artifactId
>
<version>2.8.5</version
>
</dependency
>
<dependency>
<groupId>commons
-io
</groupId
>
<artifactId>commons
-io
</artifactId
>
<version>2.6</version
>
</dependency
>
<dependency>
<groupId>commons
-fileupload
</groupId
>
<artifactId>commons
-fileupload
</artifactId
>
<version>1.4</version
>
</dependency
>
<!-- 单元测试
-->
<dependency>
<groupId>junit
</groupId
>
<artifactId>junit
</artifactId
>
<version>4.11</version
>
<scope>test
</scope
>
</dependency
>
</dependencies
>
<build>
<finalName>SSM_demo
</finalName
>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults
(may be moved to parent pom
) -->
<plugins>
<plugin>
<artifactId>maven
-clean
-plugin
</artifactId
>
<version>3.1.0</version
>
</plugin
>
<!-- see http
://maven
.apache
.org
/ref
/current
/maven
-core
/default-bindings
.html#Plugin_bindings_for_war_packaging
-->
<plugin>
<artifactId>maven
-resources
-plugin
</artifactId
>
<version>3.0.2</version
>
</plugin
>
<plugin>
<artifactId>maven
-compiler
-plugin
</artifactId
>
<version>3.8.0</version
>
</plugin
>
<plugin>
<artifactId>maven
-surefire
-plugin
</artifactId
>
<version>2.22.1</version
>
</plugin
>
<plugin>
<artifactId>maven
-war
-plugin
</artifactId
>
<version>3.2.2</version
>
</plugin
>
<plugin>
<artifactId>maven
-install
-plugin
</artifactId
>
<version>2.5.2</version
>
</plugin
>
<plugin>
<artifactId>maven
-deploy
-plugin
</artifactId
>
<version>2.8.2</version
>
</plugin
>
</plugins
>
</pluginManagement
>
</build
>
</project
>
## Spring的配置文件
- web
.xml
```javascript
<?xml version
="1.0" encoding
="UTF-8"?>
<web
-app version
="2.4"
xmlns
="http://java.sun.com/xml/ns/j2ee"
xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi
:schemaLocation
="http
://java
.sun
.com
/xml
/ns
/j2ee
http
://java
.sun
.com
/xml
/ns
/j2ee
/web
-app_2_4
.xsd"
>
<display
-name
>Archetype Created Web Application
</display
-name
>
<!--配置 Spring 容器
-->
<context
-param
>
<param
-name
>contextConfigLocation
</param
-name
>
<param
-value
>classpath
:spring_root
.xml
</param
-value
>
</context
-param
>
<!--中文乱码处理过滤
-->
<!-- 编码过滤器
-->
<filter>
<filter
-name
>characterEncodingFilter
</filter
-name
>
<filter
-class>org
.springframework
.web
.filter
.CharacterEncodingFilter
</filter
-class>
<init
-param
>
<param
-name
>encoding
</param
-name
>
<param
-value
>UTF
-8</param
-value
>
</init
-param
>
</filter
>
<filter
-mapping
>
<filter
-name
>characterEncodingFilter
</filter
-name
>
<url
-pattern
>
spring_root.xml
<?xml version
="1.0" encoding
="UTF-8"?>
<beans xmlns
="http://www.springframework.org/schema/beans"
xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xmlns
:contxt
="http://www.springframework.org/schema/context" xmlns
:p
="http://www.springframework.org/schema/p"
xmlns
:tx
="http://www.springframework.org/schema/tx"
xsi
:schemaLocation
="http
://www
.springframework
.org
/schema
/beans http
://www
.springframework
.org
/schema
/beans
/spring
-beans
.xsd
http
://www
.springframework
.org
/schema
/context
http
://www
.springframework
.org
/schema
/context
/spring
-context
.xsd http
://www
.springframework
.org
/schema
/tx http
://www
.springframework
.org
/schema
/tx
/spring
-tx
.xsd"
>
<!-- 扫描 service 包下面使用
@Component/@Service/@Repository/@Controller 注解的类 将其实例化,放入容器中
-->
<contxt
:component
-scan base
-package="com.mecol.hotel.service" />
<!--创建数据源
-->
<bean id
="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 数据库驱动
-->
<property name
="driverClass" value
="com.mysql.jdbc.Driver" />
<!-- 数据库连接
-->
<property name
="jdbcUrl" value
="jdbc:mysql://127.0.0.1:3306/hotel?characterEncoding=utf8&useSSL=false&serverTimezone=CTT"/>
<!-- 数据库用户名
-->
<property name
="user" value
="root"/>
<!-- 数据库密码
-->
<property name
="password" value
="123489"/>
</bean
>
<!-- 配置mybatis
-->
<bean id
="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据源的实例化
-->
<property name
="dataSource" ref
="dataSource"/>
<!-- 映射 DML 语法 只要文件夹变蓝色 就是classpath 所以要有个mapper文件夹 下面所有的
.xml都会映射
-->
<property name
="mapperLocations" value
="classpath:mapper/*.xml"/>
<!--加载mybatis自身的配置文件
-->
<property name
="configLocation" value
="classpath:mybatis-config.xml"/>
</bean
>
<!-- 映射 数据访问层
( dao
) 中的接口
-->
<bean
class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name
="sqlSessionFactoryBeanName" value
="sqlSessionFactory"/>
<property name
="basePackage" value
="com.mecol.hotel.dao"/>
</bean
>
<!-- 文件上传
-->
<bean id
="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为
10MB
-->
<property name
="maxUploadSize">
<value>10485760</value
>
</property
>
<!--设置编码,与jsp页面编码一致
-->
<property name
="defaultEncoding">
<value>UTF
-8</value
>
</property
>
</bean
>
<!-- JDBC事务管理器
-->
<bean id
="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p
:dataSource
-ref
="dataSource"/>
<!-- 启用支持annotation注解方式事务管理
-->
<tx
:annotation
-driven transaction
-manager
="transactionManager"/>
</beans
>
Spring_web.xml
<?xml version
="1.0" encoding
="UTF-8"?>
<beans xmlns
="http://www.springframework.org/schema/beans"
xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xmlns
:contxt
="http://www.springframework.org/schema/context" xmlns
:p
="http://www.springframework.org/schema/p"
xmlns
:tx
="http://www.springframework.org/schema/tx"
xsi
:schemaLocation
="http
://www
.springframework
.org
/schema
/beans http
://www
.springframework
.org
/schema
/beans
/spring
-beans
.xsd
http
://www
.springframework
.org
/schema
/context
http
://www
.springframework
.org
/schema
/context
/spring
-context
.xsd http
://www
.springframework
.org
/schema
/tx http
://www
.springframework
.org
/schema
/tx
/spring
-tx
.xsd"
>
<!-- 扫描 service 包下面使用
@Component/@Service/@Repository/@Controller 注解的类 将其实例化,放入容器中
-->
<contxt
:component
-scan base
-package="com.mecol.hotel.service" />
<!--创建数据源
-->
<bean id
="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 数据库驱动
-->
<property name
="driverClass" value
="com.mysql.jdbc.Driver" />
<!-- 数据库连接
-->
<property name
="jdbcUrl" value
="jdbc:mysql://127.0.0.1:3306/hotel?characterEncoding=utf8&useSSL=false&serverTimezone=CTT"/>
<!-- 数据库用户名
-->
<property name
="user" value
="root"/>
<!-- 数据库密码
-->
<property name
="password" value
="123489"/>
</bean
>
<!-- 配置mybatis
-->
<bean id
="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据源的实例化
-->
<property name
="dataSource" ref
="dataSource"/>
<!-- 映射 DML 语法 只要文件夹变蓝色 就是classpath 所以要有个mapper文件夹 下面所有的
.xml都会映射
-->
<property name
="mapperLocations" value
="classpath:mapper/*.xml"/>
<!--加载mybatis自身的配置文件
-->
<property name
="configLocation" value
="classpath:mybatis-config.xml"/>
</bean
>
<!-- 映射 数据访问层
( dao
) 中的接口
-->
<bean
class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name
="sqlSessionFactoryBeanName" value
="sqlSessionFactory"/>
<property name
="basePackage" value
="com.mecol.hotel.dao"/>
</bean
>
<!-- 文件上传
-->
<bean id
="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为
10MB
-->
<property name
="maxUploadSize">
<value>10485760</value
>
</property
>
<!--设置编码,与jsp页面编码一致
-->
<property name
="defaultEncoding">
<value>UTF
-8</value
>
</property
>
</bean
>
<!-- JDBC事务管理器
-->
<bean id
="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p
:dataSource
-ref
="dataSource"/>
<!-- 启用支持annotation注解方式事务管理
-->
<tx
:annotation
-driven transaction
-manager
="transactionManager"/>
</beans
>
源代码下载
链接: https://pan.baidu.com/s/1_kYZG3JNZXP0bot6x41GMw 提取码: 47t9