实习第三天:基于SSM框架的管理系统

搭建SSM

选择环境

https://www.cnblogs.com/aishangJava/p/10361481.html
1 选择语言
2 选择编译器
3 选择框架


搭建环境


11 版本说明
2 环境初始化
21 安装tomcat
22 配置tomcat
创建项目
31 新建MAVEN项目  

https://www.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuE7lcWGXh50Vy3z1lItKlmd4OJre3dLQnWbn8s4nBPmV16nhmYWl5yIJbrdDso3yxfkmyZmbFynVfbHuRh2r9Cea&wd=&eqid=cb60ae640002a3da000000065d9730da
32 为项目添加运行环境
33 同步版本信息
搭建框架
41 添加依赖
42 做必要配置
43 添加Spring配置文件
44 创建数据库属性文件
45 创建SpringMVC配置文件

Tomcat配置

 

测试环境


1 测试Sring MVC
11 创建bean
12 创建controller
13 运行项目
21 构建MBG逆向工程
211 准备数据库环境
212 创建MBG配置文件
213 实现逆向工程
22 进行单元测试

模型-视图-控制器模式,也称为MVC模式。是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:

    模型(Model):负责存储系统的中心数据。

    视图(View):将信息显示给用户(可以定义多个视图)。

    控制器(Controller):处理用户输入的信息。负责从视图读取数据,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分。负责管理与用户交互交互控制。

 

管理系统的创建

项目结构

bean   实体类 和数据库对应
dao   持久层    数据库的增删改查
service   业务层
controller   控制层

实体类:UserInfo.java

package com.zhongruan.bean;

public class UserInfo {
    private  int id;
    private  String username;
    private String password;

    public UserInfo() {
    }  //必须有!!

    public UserInfo(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

控制层 UserInfoController.java

package com.zhongruan.controller;
import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.IUserInfoService;
import com.zhongruan.service.impl.IUserInfoServiceImpl;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import javax.xml.registry.infomodel.User;
import java.util.List;
@Controller
@RequestMapping("user")
public class UserInfoController {
    @Autowired
    IUserInfoService userInfoService;
    @RequestMapping("findAll.do")
    public ModelAndView findAll() {
        List<UserInfo> users =userInfoService.findAll();
        ModelAndView mv=new ModelAndView();
        mv.addObject("users",users);
       mv.setViewName("allUser");//jsp路径
        return mv;
    }
//跳转页面
@RequestMapping("toAddUser.do")
    public ModelAndView toAddUser(){
        ModelAndView mv = new ModelAndView();
        mv.setViewName("addUser");//jsp路径跳转至addUser.jsp页面
    return mv;
    }

@RequestMapping("save.do")
    public ModelAndView save(@RequestParam("id") int id, @RequestParam("username") String username, @RequestParam("password")String password) {
        //接收来自jsp的输入
        //创建一个UserInfo对象
    UserInfo userInfo=new UserInfo();
    userInfo.setId(id);
    userInfo.setPassword(password);
    userInfo.setUsername(username);
  //  System.out.println(userInfo);
        //调用userInfoservice服务
     userInfoService.add(userInfo);
        //重新获取数据库所有数据
    List<UserInfo> users =userInfoService.findAll();
        //重新填充模型
        // 返回所有用户视图
    ModelAndView mv=new ModelAndView();
       mv.addObject("users",users);
      mv.setViewName("allUser");//jsp路径
     return mv;
    }

    @RequestMapping("toUpdate.do")
    public  ModelAndView toUpdate(@RequestParam("id") int id){
        UserInfo userInfo=userInfoService.search(id);
        ModelAndView mv =new ModelAndView();
        mv.addObject("userInfo",userInfo); //把此页面的数据送给页面容器
        mv.setViewName("updateUser");
        return mv;
    }
@RequestMapping("update.do")
    public ModelAndView update(@RequestParam("id") int id,
    @RequestParam("username")String username,@RequestParam("password")String password) {
    UserInfo userInfo = new UserInfo();
    userInfo.setId(id);
    userInfo.setUsername(username);
    userInfo.setPassword(password);
    // System.out.println(userInfo);//测试
    userInfoService.update(userInfo);
    List<UserInfo> users = userInfoService.findAll();
    ModelAndView mv = new ModelAndView();
    mv.addObject("users", users);
    mv.setViewName("allUser");//jsp路径
    return mv;
}
 @RequestMapping("delete.do")
     public ModelAndView delete(@RequestParam("id")int id){
     userInfoService.delete(id);//找到user
     List<UserInfo> users =userInfoService.findAll();
     ModelAndView mv=new ModelAndView();
     mv.addObject("users", users);
     mv.setViewName("allUser");//jsp路径
    return  mv;
}
}

dao层(持久层)IUserInfoDao.java

package com.zhongruan.dao;

import com.zhongruan.bean.UserInfo;

import javax.jws.soap.SOAPBinding;
import java.util.List;
//dao层与MyBatis中的xml对应,SQL
public interface IUserInfoDao {
    List<UserInfo> findAll();
    void add(UserInfo userInfo);
    void update(UserInfo userInfo);
    UserInfo search(int id);
    void delete (int id);
}

服务层(service) IUserInfoService.java

package com.zhongruan.service;
import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserInfoService {
   List<UserInfo> findAll();
   void add(UserInfo userInfo);
   void update(UserInfo userInfo);
   UserInfo search(int id);
   void delete (int id);
}

service层:IUserInfoServiceImpl.java

package com.zhongruan.service.impl;

import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.IUserInfoDao;
import com.zhongruan.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.xml.registry.infomodel.User;
import java.util.List;
@Service
public class IUserInfoServiceImpl implements IUserInfoService{

    @Autowired
    IUserInfoDao userInfoDao;

    @Override
    public List<UserInfo>findAll(){
        return userInfoDao.findAll();
    }

    public void add(UserInfo userInfo) {
        userInfoDao.add(userInfo);
    }
    public void update(UserInfo userInfo){
        userInfoDao.update(userInfo);
    }
    public UserInfo search(int id){
       return userInfoDao.search(id);
    }
    public void delete(int id){
        userInfoDao.delete(id);
    }
}

myBatis

UserInfoMapper.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="com.zhongruan.dao.IUserInfoDao" >
<select id="findAll" resultType="com.zhongruan.bean.UserInfo">
    select * from userinfo
</select>
<select id="add" parameterType="com.zhongruan.bean.UserInfo">
    insert into userinfo (id, username, password) values(#{id}, #{username}, #{password})
</select>

<select id="update" parameterType="com.zhongruan.bean.UserInfo">
    update userinfo set username=#{username}, password=#{password} where id=#{id}
</select>

<select id="search" resultType="com.zhongruan.bean.UserInfo">
    select * from userinfo where id=#{id}
</select>

<select id="delete" parameterType="_int">
    delete from userinfo where id=#{id}
</select>
</mapper>

applicationContext.xml  、 db.properties 、 log4j.properties 、spring-mvc.xml  略

 

项目结果

初始页面

显示所有用户,进入功能页面

新增用户

结果:

删除用户 id=4

更改用户信息

修改生效:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值