基于maven+ssm的增删改查之测试相关ssm环境是否成功

接上一节。

1、首先我们在com.gong.curd.controller中新建EmployeeController.java(我们使用分页技术)

package com.gong.curd.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.gong.curd.bean.Employee;
import com.gong.curd.service.EmployeeService;

@Controller
public class EmployeeController {

    @Autowired
    EmployeeService employeeService;

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

2、在com.gong.curd.service新建EmployeeService.java

package com.gong.curd.service;

import java.util.List;

import com.gong.curd.bean.Employee;

public interface EmployeeService {
    public List<Employee> getAll();
}

3、在com.gong.serviceImpl新建EmployeeServiceImpl.java

package com.gong.curd.serviceImpl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.gong.curd.bean.Employee;
import com.gong.curd.dao.EmployeeMapper;
import com.gong.curd.service.EmployeeService;

@Service
public class EmployeeServiceImpl implements EmployeeService {

    @Autowired
    EmployeeMapper employeeMapper;

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

}

4、在com.gong.curd.text新建MvcTest.java用于测试ssm环境:同样的,我们转换成ssm环境进行测试时,需要指定spring和springmvc配置文件。我们在views文件夹下新建一个list.jsp文件,里面暂时按默认就好,不需要添加其他的信息。

package com.gong.curd.test;

import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import com.atguigu.curd.bean.Employee;
import com.github.pagehelper.PageInfo;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations= {"classpath:applicationContext.xml",
            "file:src/main/webapp/WEB-INF/dispatcherServlet-servlet.xml"})
public class MvcTest {

    @Autowired
    WebApplicationContext context;
    MockMvc mockMvc;

    @Before
    public void initMockMvc() {
        mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
    }

    @Test
    public void testPage() throws Exception {
        //模拟请求
        MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/emps").param("pn", "1"))
            .andReturn();

        MockHttpServletRequest request = result.getRequest();
        PageInfo pi = (PageInfo) request.getAttribute("pageInfo");
        System.out.println("当前页码:" + pi.getPageNum());
        System.out.println("总页码:" + pi.getPages());
        System.out.println("总记录数:" + pi.getTotal());
        System.out.println("连续显示页码:");
        int[] nums = pi.getNavigatepageNums();
        for(int i : nums) {
            System.out.println(""+i);
        }

        //获取员工数据
        List<Employee> list = pi.getList();
        for(Employee employee : list) {
            System.out.println("ID:" + employee.getEmpId()+"==>Name:"+employee.getEmpName());
        }
    }
}

我们模拟发送请求到"/emps",并带上参数pn,运行之后:控制台看到输出

DEBUG [main] - Forwarding to resource [/WEB-INF/views/list.jsp] in InternalResourceView ‘list‘
DEBUG [main] - MockRequestDispatcher: forwarding to [/WEB-INF/views/list.jsp]
DEBUG [main] - Successfully completed request
DEBUG [main] - Returning cached instance of singleton bean ‘sqlSessionFactory‘
当前页码:1
总页码:10
总记录数:49
连续显示页码:
1
2
3
4
5
ID:1==>Name:tom
deptName: 开发部
ID:2==>Name:f4aa02
deptName: 开发部
ID:3==>Name:6fcaa3
deptName: 开发部
ID:4==>Name:4864d4
deptName: 开发部
ID:5==>Name:5a3135
deptName: 开发部

说明我们自己定义的Mybatis语句以及ssm环境是成功的。下一节将结合分页技术,利用bootstrap实现员工信息在前端进行显示。

原文地址:https://www.cnblogs.com/xiximayou/p/12236263.html

时间: 2024-07-31 09:17:49

基于maven+ssm的增删改查之测试相关ssm环境是否成功的相关文章

基于maven+ssm的增删改查之spring+springmvc+mybatis环境搭建

接上一节. 1.首先建立如下目录 说明: com.gong.curd.bean:用于存放普通javabean. com.gong.curd.dao:用于存放mapper接口 com.gong.curd.controller:用于存放控制器 com.gong.curd.service:用于存放业务层接口 com.gong.curd.serviceImpl:用于存放service接口的实现类 com.gong.curd.utils:用于存放通用的工具类 com.gong.curd.test:用于测试

基于maven+ssm的增删改查之批量删除

首先将之前的删除单个的eq(1)改为eq(2),因为我们新增了一个多选项. 然后是在delete.js中加入: //点击全部删除,就批量删除 $("#emp_delete_all_btn").click(function(){ var empNames = ""; var del_idstr = ""; //遍历选中的,获取其姓名和id $.each($(".check_item:checked"),function(){ /

bootstrap+Ajax+SSM(maven搭建)实现增删改查

https://www.jianshu.com/p/d76316b48e3e 源码: https://github.com/Ching-Lee/crud 功能点: 分页 数据校验 ajax Rest风格的URI:使用HTTP协议请求方式的动词,来表示对资源的操作(GET(查询),POST(新增),PUT(修改),DELETE(删除)) 技术点 基础框架-ssm 数据库mysql 前端框架-bootstrap 项目依赖 -Maven 分页 -pagehelper 逆向工程-Mybatis Gene

idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD

在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/blog/3007984 工作环境: Windows 10 jdk8(1.8) IntelliJ IDEA spring 4 和 springMVC MySQL 5.7 maven 3.3 mybatis 3.4 DBCP Tomcat 8.5 项目上传到了Github方便查看:https://gith

基于springmvc的简单增删改查实现---中间使用到了bean validation

1 package com.kite.controller; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 import javax.validation.Valid; 7 8 import org.springframework.stereotype.Controller; 9 import org.springframework.ui.Model; 10 import org.springframework.validat

基于表关系的增删改查

创建四表,author,book,publish,author-detail 存在多对多,一对一,多对一的关系 在models里创建 class Pulish(models.Model): id=models.AutoField(primary_key=True) name=models.CharField(max_length=32) address=models.CharField(max_length=32) class Book(models.Model): id=models.Auto

肝 hibernate 配置and增删改查 and 测试

已经通宵三天撸代码了,现在的我已经养成晚上修仙写代码的节奏了.....最近 刚刚复习到了 hibernate 谈谈 这篇文章就谈谈我对这货的理解吧. 在看这篇文章之前希望你 知道sessionfactory 和session 还有 transaction(事物) 诶嘿不造的可以去看看http://blog.csdn.net/u012377333/article/details/48086193  OK正题开始 步骤 我们需要一个可以持久化的bean类 还有它的附属映射 hbm.xml文件 以及d

基于maven+ssm的增删改查之使用mybatis逆向工程生成相关文件

接上一节. 1.mybatis逆向工程相关文件配置 generatorConfig.xml(8条) (1)使用classPathEntry指定Mysql驱动的位置. (2)去掉生成文件中的注释 (3)数据库连接配置 (4)类型解析 (5)javabean生成的位置.mapper接口的位置.mapper.xml文件的位置 (6)指定数据库中的表以及映射成的javabean的名称 <?xml version="1.0" encoding="UTF-8"?>

基于maven+ssm的增删改查之maven环境的搭建

1.Maven插件的设置: Window->Preferences->Maven (1)installations : 指定Maven核心程序的位置.默认是插件自带的Maven程序,可以改为我们自己解压的那个. 点击add: 选择自己解压的maven的位置,点击finish.选择自己刚刚加入的: 点击apply--Apply and Close. (2)user settings : 指定Maven核心程序中 conf/settings.xml 文件的位置,进而获取本地仓库的位置. 选择我们自