基于SSM框架的学生学籍管理系统(源码及具体讲解)-ssm学生_第1页
基于SSM框架的学生学籍管理系统(源码及具体讲解)-ssm学生_第2页
基于SSM框架的学生学籍管理系统(源码及具体讲解)-ssm学生_第3页
基于SSM框架的学生学籍管理系统(源码及具体讲解)-ssm学生_第4页
基于SSM框架的学生学籍管理系统(源码及具体讲解)-ssm学生_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SSM框架的学生学籍管理系统(源码及具体讲解创建maven项目,配置pom.xml各层之间的关系com.demoresourceswebappDaoServiceController整合静态页面(layUImini单页版)MD5\h项目主要功能本系统整体采用B/S体系结构、MVC后端:SSM(Spring+SpringMVC+Mybatis)管理员-教师登录–学生登录–\h创建maven项目,配置pom.xml在idea中创建一个maven项目,在其核心文件pom.xml文件中引入spring框架所依赖的jar包以及mybatis、mybatis-spring注意:创建maven项目之后,在跟webapp同级下创建java目录(存放源代码)以及resourse目录(存放资源信息)补充:简单了解mybatis:\hMyBatispom.xml<!--引入Spring相关jar<!--如:context坐标,context依赖core,beans等<artifactId>spring-<artifactId>spring-<artifactId>spring-<artifactId>spring-<artifactId>spring-<artifactId>spring-<artifactId>spring-<artifactId>spring-<artifactId>spring-<!--引入mybatis相关jar<artifactId>mybatis-配置spring核心配置文件在resources下创建applicationContext.xml配置文件<?xmlversion="1.0"encoding="UTF-<beans\hxmlns:xsi="\h/2001/XMLSchema-\h\h/schema/beans/spring-若对spring不了解可参考:\hSSM配置spring-MC核心配置文件在resources下创建spring-mvc.xml配置文件<?xmlversion="1.0"encoding="UTF-<beans\hxmlns:xsi="\h/2001/XMLSchema-\h\h/schema/beans/spring-配置前端控制器DispatcherServlet,加载Spring-mvc.xml配置文件(加载spring容器等)配置Spring上下文监听器:加载applicationContext.xml<servlet-name>student_system</servlet-<!--配置前端控制器DispatcherServlet,加载Spring-mvc.xml配置文件,加载spring容器<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-加载<init-<param-name>contextConfigLocation</param-<param-value>classpath:spring-mvc.xml</param-</init-<!--启动Tomcat容器就加载<load-on-startup>1</load-on-<!--映射信 <url-pattern>/</url-pattern>拦截不带请求--<servlet-<servlet-name>student_system</servlet-<url-pattern>/</url-</servlet-<!--配置上下文参数<context-<param-name>contextConfigLocation</param-<param-value>classpath:applicationContext.xml</param-</context-<!--配置spring上下文监听加载applicationContext.xml文件<listener-class>org.springframework.web.context.ContextLoaderListener</listener-<filter-name>encodingFilter</filter-<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-<init-<param-name>encoding</param-<param-value>utf-8</param-</init-<!--3、配置编码过滤器:解决编码问题–><filter-<filter-name>encodingFilter</filter-<url-pattern>/*</url-</filter-整合创建perties在resourse目录下创建mybatis-config.xml<?xmlversion="1.0"encoding="UTF-8"<!DOCTYPEPUBLIC"-////DTDConfig"\h/dtd/mybatis-3-<!--根标签<!--settings:控制mybatis全局行为<!--设置mybatis输出日志<settingname="logImpl"value="STDOUT_LOGGING"在pom.xml文件中添加mysql<artifactId>mysql-connector-<artifactId>commons-配置:在applicationContext.xml可分为四个步骤:加载perties、配置数据源、获取sqlSessionFactory工厂、扫描mapper<!--1.加载perties<context:property-placeholderlocation="classpath:perties"<!--2.配置数据源<beanid="dataSource"<propertyname="driverClassName"<propertyname="url"<propertyname="username"<propertyname="password"<!--3.获取sqlSessionFactory工厂<beanid="sqlSessionFactory"<propertyname="dataSource"<!--加载mybatis核心配置文件<propertyname="configLocation"value="classpath:mybatis-<!--配置mapper文件<property<!--配置分页插件<property<bean<property<!--4.扫描mapper文件<bean<!--扫描dao目录下的所有mapper文件<propertyname="basePackage"<propertyname="sqlSessionFactoryBeanName"测试SSM创建实体类:在entity下创建实体类在DaoUserDao,以及对应的mapper文件:UserMapper.xmlUserMapper.xml在service层创建在controller层创建在spring-mvc.xml在applicationContext.xml使用postmancom.demoController(控制层):负责具体业务模块流程的控制,接受页面过来的参数,调用对应的服务service完成用户请求的处理,针对具体的业务流程,会有不同的控制器。DAO层:负责与数据库进行联络的一些任务都封装在此,如:增删改查基本sqlentity层:数据对象的实体(model层),是实体bean用于ORMService层:每个Service一般包含一组相关的业务逻辑,在设计时先设计接口,再设计其实现的类,然后在Spring配置文件中配置其实现的关联。之后调用Service理。utils层:如:BeanMapUtils将bean对象转换成map。MD5utils:resources\hwebappstatic目录存放layuimini框架引入的相关资源.b.WEB-INF目录:存放前端所有的Jsp页面。\hDao层以UserDao为例,在UserMappe.xml文件中进行具体增删改查采用动态sql技术实现:若对动态sql技术不了解可参考:\hmapper映射文件中动态sql以下是UserMappe.xml代码部分:<?xmlversion="1.0"encoding="UTF-8"<!DOCTYPEmapperPUBLIC"-////DTDMapper3.0//EN""\h/dtd/mybatis-3-<!--根据接口根对应的mapper文件生成动态代理实现类<mapper<!--resultMap:mybatis结果集封装<!--property指定javaBean的属性名<!--column指定数据库字段名或者其别名<resultMaptype="com.demo.entity.User"<idcolumn="id"<resultcolumn="id"<resultcolumn="name"<resultcolumn="remark"<resultcolumn="user_name"<resultcolumn="user_pwd"<!--增<insertid="create"keyProperty="id"useGeneratedKeys="true"insertinto <!--删<deletedeletefrom<include<!--改<updateupdate<include<include<!--查<selectid="query"select*from<include<iftest="offset!=nullandrows!=null">limit${offset},<!--查询分页<selectid="count"selectcount(1)from<include<!--查询明细<selectid="detail"select*from<includelimit<!--动态sql查询<sql<iftest="id!=null">andid=<iftest="name!=nullandname!=''">andnamelike<iftest="remark!=nullandremark!=''">andremark=<iftest="userName!=nullanduserName!=''">anduser_namelike<iftest="userPwd!=nullanduserPwd!=''">anduser_pwd=<!--动态sql更新<sql<iftest="updateId!=null">id=<iftest="updateName!=nullandupdateName!=''">name=<iftest="updateRemark!=nullandupdateRemark!=''">remark=<iftest="updateUserName!=nullandupdateUserName!=''">user_name=<iftest="updateUserPwd!=nullandupdateUserPwd!=''">user_pwd=80补充:在上述代码中,用到了#{}、以及${},另外,在查询条件中用了模糊查询其使用方式可参考:\hmybatis在上述代码中用到了resultMap,其使用方式参考:\hMybatis中ResultMap在UserDao接口中定义具体实现方法:1packageimportimportimportpublicinterfaceUserDaopublicintcreate(Userpublicintdelete(Map<String,Object>publicintupdate(Map<String,Object>publicList<User>query(Map<String,Object>publicUserdetail(Map<String,Object>publicintcount(Map<String,Object>ServiceDao层采用map进行数据传参,由于Service层需实现具体业务操作,数据传参为具体类对象(Bean),需将Bean转为在utils目录下建立BeanMapUtils/*Bean转为MappublicclassBeanMapUtilspublicstatic<T>Map<String,Object>beanToMap(Tbean)Map<String,Object>map=newif(bean!=null)BeanMapbeanMap=for(Objectkey:beanMap.keySet())map.put(key+"", return //处理更新多加的publicstatic<T>Map<String,Object>beanToMapForUpdate(Tbean)Map<String,Object>map=newif(bean!=null)BeanMapbeanMap=for(Objectkey:beanMap.keySet())

return//publicstaticStringupperFirstLatter(Stringchar[]chars=if(chars[0]>='a'&& chars[0]=(char)(chars[0]- returnnew 对map进行封装:以UserServiceServiceService以UserController整合静态页面(layUImini单页版在webapp下创建staticSpringmvc配置basePath在login.jsp在LoginController//Useruser=userService.login(userName,if(user!=returnreturnMapControll.getInstance().error("用户名或密码错误 //Teacherteacher=teacherService.login(userName,if(teacher!=returnreturnMapControll.getInstance().error("用户名或密码错误 //Studentstudent=studentService.login(userName,if(student!=returnreturnMapControll.getInstance().error("用户名或密码错误 调用不同用户角色对应的Service层代码,以管理员登录为例,调用userService的login当访问任何一个网站,创建一次会话session(不管是否登录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论