IDEA 搭建 基于 SSM 框架 的 Maven 项目

我只是一个虾纸丫 提交于 2020-01-08 12:19:59

目标

做一个基本的Web应用,实现 crud 功能,
即增加(Create)、读取(Retrieve)、更新(Update)和删除(Delete)。

开发工具 IDEA: 全称 IntelliJ IDEA,是java语言的开发工具之一,同 Eclipse

基础框架 SSM: 是指 Spring + SpringMVC + Mybatis, 常作为web项目的框架

项目管理 Maven: 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理

数据库 MySQL: 关系型数据库管理系统

前端框架 Bootstrap: 用于前端开发的开源工具包,能快速搭建美观的界面

过程

(1) 在IDEA中,新建一个Maven工程,并创建好完整的项目结构
(2) 引入项目依赖的 jar 包,引入bootstrap前端框架,编写SSM整合的配置文件
(3) 创建数据库,生成bean文件 和 mapper文件,最后测试该部分
(4) 页面发送请求查询所有员工数据,得到 json 字符串
(5) 设计分页显示页面,解析 json 字符串,展示查询结果
(6) 添加“新增”功能
(7) 对用户输入数据进行校验
(8) 添加“修改”功能
(9) 添加“删除”功能

效果

  • 分页展示查询内容 Pagehelper
    在这里插入图片描述
  • 添加数据,包含数据校验功能:jquery前端校验 + ajax 校验数据是否重复 + JSR303后端校验
    在这里插入图片描述
  • 更新数据
    在这里插入图片描述
  • 删除数据,包含逐个删除和批量删除两种
    在这里插入图片描述
    在这里插入图片描述

重点

  • 前端发送 AJAX 请求,后端接受请求,经过处理,返回 JSON 数据,在页面显示
		//前端
		function getEmp(id){
            $.ajax({
                url:"${APP_PATH}/emp/"+id,
                type:"GET",
                success:function(result){
                    //console.log(result);
                    var empData = result.extend.emp;
                    $("#empName_update_static").text(empData.empName);
                    $("#email_update_input").val(empData.email);
                    $("#empUpdateModal input[name=gender]").val([empData.gender]);
                    $("#empUpdateModal select").val([empData.dId]);
                }
            });
        }
	//后端
	@RequestMapping(value="/emp/{id}",method=RequestMethod.GET)
    @ResponseBody
    public Msg getEmp(@PathVariable("id")Integer id){

        Employee employee = employeeService.getEmp(id);
        return Msg.success().add("emp", employee);
    }
  • ajax 请求类型
url type 功能
/emp/{id} GET 查询员工
/emp POST 保存员工
/emp/{id} PUT 修改员工
/emp/{id} DELETE 删除员工
  • 后端处理过程

Controller 类中,接受AJAX请求,调用 Autowired 的 Service 对象进行处理,返回 JSON 数据

@Controller
public class EmployeeController {

    @Autowired
    EmployeeService employeeService;
	
	@RequestMapping(value="/emp/{id}",method=RequestMethod.GET)
    @ResponseBody
    public Msg getEmp(@PathVariable("id")Integer id){

        Employee employee = employeeService.getEmp(id);
        return Msg.success().add("emp", employee);
    }
}

Service类中,调用 Autowired 的 Mapper 中的函数,进行处理

@Service
public class EmployeeService {

    @Autowired
    EmployeeMapper employeeMapper;
	
	public Employee getEmp(Integer id) {
        // TODO Auto-generated method stub
        Employee employee = employeeMapper.selectByPrimaryKey(id);
        return employee;
    }

MyBatisGenerator 自动生成 Mapper 接口和 Mapper 的 xml 文件,对数据库进行操作

public interface EmployeeMapper{
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!