目标
做一个基本的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{
}
来源:CSDN
作者:CrazyBlog
链接:https://blog.csdn.net/qq_21097885/article/details/103769355