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

此系列:IDEA 搭建 基于 SSM 框架 的 Maven 项目, 完成一个基本的Web应用,实现 crud 功能。

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

本节:页面发送请求查询所有员工数据,得到 json 字符串


1. index.jsp 页面发送查询员工列表请求

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:forward page="/emps"></jsp:forward>

2. controller接受请求,查询数据

controller包下新建EmployeeController.java 文件

@Controller
public class EmployeeController {

    @Autowired
    EmployeeService employeeService;

    @RequestMapping("/emps")
    @ResponseBody
    public PageInfo getEmps(@RequestParam(value = "pn",defaultValue = "1")Integer pn){
        PageHelper.startPage(pn, 5);
        List<Employee> emps = employeeService.getAll();
        PageInfo page = new PageInfo(emps, 5);
        
        return page;
    }
    
}

service包下新建EmployeeService.java文件,从数据库中查询数据

@Service
public class EmployeeService {

    @Autowired
    EmployeeMapper employeeMapper;

    public List<Employee> getAll(){
        return employeeMapper.selectByExampleWithDept(null);
    }

}

3. 运行程序,查看返回的 json 字符串

{“pageNum”:1,“pageSize”:5,“size”:5,“startRow”:1,“endRow”:5,“total”:101,“pages”:21,“list”:[{“empId”:1,“empName”:“Alice”,“gender”:“F”,“email”:“Alice123@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:2,“empName”:“accb40”,“gender”:“M”,“email”:“accb40@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:3,“empName”:“4b3fa1”,“gender”:“M”,“email”:“4b3fa1@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:4,“empName”:“33f872”,“gender”:“M”,“email”:“33f872@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:5,“empName”:“28ed03”,“gender”:“M”,“email”:“28ed03@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}}],“prePage”:0,“nextPage”:2,“isFirstPage”:true,“isLastPage”:false,“hasPreviousPage”:false,“hasNextPage”:true,“navigatePages”:5,“navigatepageNums”:[1,2,3,4,5],“navigateFirstPage”:1,“navigateLastPage”:5,“firstPage”:1,“lastPage”:5}

4. 设置一个通用的返回类 Msg

  1. 在 bean 包下新建 Msg.java,添加属性值:状态码code,提示信息msg,以及要返回给浏览器的封装成的 map 的数据。添加 get 和 set 方法。
  2. 添加常用的静态函数 成功success() 和失败fail()。
  3. 添加一个add()函数,可以连续添加要返回给浏览器的数据。
public class Msg {

    //状态码   100-成功    200-失败
    private int code;
    //提示信息
    private String msg;

    //用户要返回给浏览器的数据
    private Map<String, Object> extend = new HashMap<String, Object>();

    public static Msg success(){
        Msg result = new Msg();
        result.setCode(100);
        result.setMsg("处理成功!");
        return result;
    }

    public static Msg fail(){
        Msg result = new Msg();
        result.setCode(200);
        result.setMsg("处理失败!");
        return result;
    }

    public Msg add(String key,Object value){
        this.getExtend().put(key, value);
        return this;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Map<String, Object> getExtend() {
        return extend;
    }

    public void setExtend(Map<String, Object> extend) {
        this.extend = extend;
    }
}

5. 修改 controller 类,使得返回 Msg 对象

修改 controller 包下的EmployeeController.java 类中的 getEmps() 方法

	@RequestMapping("/emps")
    @ResponseBody
    public Msg getEmps(@RequestParam(value = "pn",defaultValue = "1")Integer pn){
        PageHelper.startPage(pn, 5);
        List<Employee> emps = employeeService.getAll();
        PageInfo page = new PageInfo(emps, 5);
        
        return Msg.success().add("pageInfo", page);
    }

6. 运行程序,查看最终返回的json字符串

{“code”:100,“msg”:“处理成功!”,“extend”:{“pageInfo”:{“pageNum”:1,“pageSize”:5,“size”:5,“startRow”:1,“endRow”:5,“total”:101,“pages”:21,“list”:[{“empId”:1,“empName”:“Alice”,“gender”:“F”,“email”:“Alice123@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:2,“empName”:“accb40”,“gender”:“M”,“email”:“accb40@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:3,“empName”:“4b3fa1”,“gender”:“M”,“email”:“4b3fa1@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:4,“empName”:“33f872”,“gender”:“M”,“email”:“33f872@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}},{“empId”:5,“empName”:“28ed03”,“gender”:“M”,“email”:“28ed03@mail.com”,“dId”:1,“department”:{“deptId”:1,“deptName”:“开发部”}}],“prePage”:0,“nextPage”:2,“isFirstPage”:true,“isLastPage”:false,“hasPreviousPage”:false,“hasNextPage”:true,“navigatePages”:5,“navigatepageNums”:[1,2,3,4,5],“navigateFirstPage”:1,“navigateLastPage”:5,“firstPage”:1,“lastPage”:5}}}


下一节:设计分页显示页面,解析 json 字符串,展示查询结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用IDEA搭建Maven框架SSM的步骤: 1. 打开IDEA,点击"Create New Project"创建一个新项目。 2. 在左侧面板选择"Maven",然后点击"Next"。 3. 在"GroupId"和"ArtifactId"字段中输入项目的唯一标识符,然后点击"Next"。 4. 在"Project SDK"字段中选择JDK版本,然后点击"Next"。 5. 在"Project Name"字段中输入项目名称,然后点击"Finish"。 6. 等待IDEA自动创建项目结构和配置文件。 7. 打开项目的pom.xml文件,在其中添加所需的依赖项。例如,如果你需要使用SSM框架,可以添加以下依赖项: ```xml <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.0.RELEASE</version> </dependency> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> </dependencies> ``` 8. 在src/main目录下创建Java源代码目录和资源目录,例如src/main/java和src/main/resources。 9. 在src/main/resources目录下创建配置文件,例如Spring配置文件和MyBatis配置文件。 10. 在src/main/java目录下创建Java类,例如Controller、Service和Mapper等。 11. 编写你的业务逻辑代码。 12. 运行你的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值