jsp+ssm+mysql实现图书馆预约占座管理系统项目

软件工具 Eclipse Mars (IDEA也可) JDK1.7 TOMCAT7 MySQL

下载链接: https://gitee.com/gepanjiang/LibrarySeats

一款由jsp+ssm+mysql实现的图书馆预约占座管理系统,前端采用的是当下最流行的easyui框架,后台用的ssm(spring、springMVC、mybaits)框架,主要实现的功能有:用户管理、菜单管理、角色管理、权限管理、学生管理、教师管理、班级管理、图书馆阅览室管理、学生信用管理、预约占座管理、发帖评论管理、违规统计、占座预约统计等,添加学生和教师时会自动在用户表中注册,定时任务会定时生成座位信息,阅览室分类中可设置信用等级,学生被扣分后信用等级低于相应的值后不能预约相应的阅览室座位。

 

【配置文件 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:mvc="http://www.springframework.org/schema/mvc"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xmlns:aop="http://www.springframework.org/schema/aop"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:jee="http://www.springframework.org/schema/jee"
     xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/jee
        http://www.springframework.org/schema/jee/spring-tx-3.0.xsd"
	default-autowire="byType">
	
	
	
	
	
<!-- 自动扫描组件,这里要把controler下面的 controller去除,他们是在spring3-servlet.xml中配置的,如果不去除会影响事务管理的。   -->  
 <context:component-scan base-package="dingzhen">  
       
 </context:component-scan> 
	
	<!--<import resource="applicationContext-bean.xml"/>

	--><!-- ============================== 数据库配置 ==================================== -->
	
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 <property name="locations">
            <list>
                <value>classpath*:config.properties</value>
                </list>
 </property>
</bean>
	<!-- 数据源配置 -->
	<bean name="dataSource"	class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName"><value>${DRIVER}</value></property>
		<property name="url"><value>${URL}</value></property>
		<property name="username"><value>${USERNAME}</value></property>
		<property name="password"><value>${PWS}</value></property>
	</bean>
	
	
	
	<!-- ================================ MyBatis SqlSession配置 ========================================= -->
	<!-- 使用SqlSessionFactoryBean工厂产生SqlSession对象,方便后期注入Dao -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="classpath:mybatis_config/Configuration.xml"></property>
	</bean>
	
	<bean class="org.mybatis.spring.annotation.MapperScannerPostProcessor">
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
		<property name="basePackage" value="dingzhen.dao" />
	</bean>
	
	<!-- 开启事务注解驱动 -->
  	<tx:annotation-driven />
  	<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
  	<bean id="transactionManager"
    	class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    	<property name="dataSource" ref="dataSource" />
  	</bean>	

  <!-- ********************************定义AOP切面******************************** -->
    <aop:aspectj-autoproxy />
	<!-- 自动装载aop -->
	<bean id="logAspect" class="dingzhen.aop.LogAspect"/><!-- 切面定义(采用注解的方式定义及使用) -->
</beans>

 

【MyBatis: Student.xml】

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dingzhen.dao.StudentDao">
	
	<select id="findStudent" parameterType="student" resultType="student">
		select 
			a.id as id,
			a.name as name,
			a.no as no,
			a.sex as sex,
			a.birth as birth,
			a.phone as phone,
			a.mail as mail,
			a.photo as photo,
			a.clazzid as clazzid,
			b.name as clazzname
		from student a left join clazz b on a.clazzid = b.id where 1 =1 
		<if test="clazzid != null and '' != clazzid">  
            <![CDATA[  
             and  clazzid = #{clazzid}   
            ]]>  
        </if>
        <if test="name != null and '' != name">  
            <![CDATA[  
              AND a.name like '%' #{name} '%'  
            ]]>  
        </if>
        <if test="no!=null and ''!=no">  
            <![CDATA[  
              AND a.no like '%' #{no} '%'  
            ]]>  
        </if>
		<if test="page != null and rows != null" >           
              limit #{page}, #{rows} 
        </if>
	</select>


	<select id="countStudent" parameterType="student" resultType="int">
		select 
			count(*)
		from student a left join clazz b on a.clazzid = b.id where 1 =1 
		<if test="clazzid != null and '' != clazzid">  
            <![CDATA[  
             and  clazzid = #{clazzid}   
            ]]>  
        </if>
        <if test="name != null and '' != name">  
            <![CDATA[  
              AND a.name like '%' #{name} '%'  
            ]]>  
        </if>
        <if test="no!=null and ''!=no">  
            <![CDATA[  
              AND a.no like '%' #{no} '%'  
            ]]>  
        </if>
	</select>
	
	<insert id="addStudent" parameterType="student" >
		insert student(no,name,sex,clazzid,birth,phone,mail,photo) 
		values (#{no},#{name},#{sex},#{clazzid},#{birth},#{phone},#{mail},#{photo})
	</insert>
	
	<update id="updateStudent" parameterType="student">
    	update student set
    	<trim suffixOverrides=",">
			<if test="name!=null">name=#{name},</if>
			<if test="no!=null">no=#{no},</if>
			<if test="sex!=null">sex=#{sex},</if>
			<if test="clazzid!=null">clazzid=#{clazzid},</if>
			<if test="birth!=null">birth=#{birth},</if>
			<if test="phone!=null">phone=#{phone},</if>
			<if test="mail!=null">mail=#{mail},</if>
			<if test="phone!=null">phone=#{phone},</if>
		</trim>
		<where>id=#{id}</where>
    </update>
	
	
	<delete id="deleteStudent" parameterType="Integer">
		delete from student <where>id=#{id}</where>
	</delete>
	

	<select id="findOneStudentByno" resultType="student">
		select 
			a.id as id,
			a.name as name,
			a.no as no,
			a.sex as sex,
			a.birth as birth,
			a.phone as phone,
			a.mail as mail,
			a.photo as photo,
			a.clazzid as clazzid,
			b.name as clazzname
		from student a left join clazz b on a.clazzid = b.id where a.no = #{no} 
	
	</select>
	
	
</mapper>

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐