zoukankan      html  css  js  c++  java
  • 自动化测试

    import com.choosefine.automatedtest.cases.usercenter.model.UserList; // model层的包
    import com.choosefine.automatedtest.cases.usercenter.service.UserCenterService; // service 层的
    import com.choosefine.automatedtest.common.controller.BaseController;    //control层集成的包封装了JSON 数据
    import io.swagger.annotations.ApiImplicitParam;   // 请求参数注解
    import io.swagger.annotations.ApiImplicitParams;  // params 注解
    import io.swagger.annotations.ApiOperation;     // 描述HTTP 方法类型对应的一个操作 CRUD
    import org.springframework.beans.factory.annotation.Autowired; //自动扫描包
    import org.springframework.web.bind.annotation.*;   // requestMapping  requestparam   绑定参数
     
    
    @RestController             //RestController下面的action返回都默认为ResponseBody  
    @RequestMapping("/automated/user")   // 参数路径
    public class UserCenterController extends BaseController {   // controller 继承了BaseContriller 层 
        @Autowired                            //自动加载
        UserCenterService userCenterService;            //service层
    
        @ApiOperation(value = "获取user列表")            //描述http方法类型对应的查找    
        @ApiImplicitParams({                     //参数s  
                @ApiImplicitParam(paramType = "query", name = "realName", dataType = "String", required = false, value = "真实姓名"),
           //query 参数放在requsetParam 中         
                @ApiImplicitParam(paramType = "query", name = "userName", dataType = "String", required = false, value = "登陆名"),
                @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "分页大小,默认10", defaultValue = "10"),
                @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "页码,默认1", defaultValue = "1"),
        })
        @GetMapping         //对应的查找注解
        public String getUserList(String realName, String userName, Integer pageSize, Integer pageNum) {    //获取4个参数
            return responseSuccess(userCenterService.getUserList(realName, userName, pageSize, pageNum));
        }
      //修改说明和注解
        @ApiOperation(value = "修改user信息")
        @PutMapping
        public String updateUsr(@RequestBody UserList userList) {  //用@RequestBody 提交json数据  对应的SQL语句
            return responseSuccess(userCenterService.updateUser(userList));
        }
      //删除说明
        @ApiOperation(value = "删除user")
        @ApiImplicitParams({
                @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "user自增id"),
        })
        @DeleteMapping
        public String deleteUser(Integer id) {
            return responseSuccess(userCenterService.deleteUser(id));
        }
    
    
        @ApiOperation(value = "新增user")
        @PostMapping
        public String addUser(@RequestBody UserList userList) {
            return responseSuccess(userCenterService.addUser(userList));
        }
    }

    service 层

    import com.choosefine.automatedtest.cases.usercenter.dao.UserCenterDao; //dao层
    import com.choosefine.automatedtest.cases.usercenter.model.UserList;  // model层
    import com.choosefine.automatedtest.cases.usercenter.vo.UserListPage;  //service对应的显示层
    import com.github.pagehelper.PageHelper;    //分页插件
    import com.github.pagehelper.PageInfo;     //分页信息 
    import org.springframework.beans.factory.annotation.Autowired;  //自动加载
    import org.springframework.stereotype.Service;  //用于@Service注解
    
    import java.util.List;
    
    /**
     * Created by Administrator on 2017/7/20.
     */
    @Service  
    public class UserCenterService {
        @Autowired
        UserCenterDao userCenterDao;
        //用户列表类 4个参数 真实姓名,用户名,页面大小,页面数量  这个类的类型是UserListPage 
        public UserListPage getUserList(String realName,String userName,Integer pageSize,Integer pageNum){
         //分页的核心代码 
            PageHelper.startPage(pageNum,pageSize);
         //UserList 是model类 对应数据库的字段 list是个列表 DAO层的真实 姓名和 用户名两个参数传递到dao层 里面的方法findUserList
            List<UserList> list = userCenterDao.findUserList(realName,userName);
          PageInfo pageInfo = new PageInfo<>(list);      //实例化一个PageInfo并把list放入
            UserListPage userListPage = new UserListPage();  //实例一个userListPage 
      //把pageInfo类下的列表,分页等信息传到展示界面userListPage 
            userListPage.setList(pageInfo.getList());      //把pageInfo的列表放到list中 
            userListPage.setPageSize(pageInfo.getPageSize());  //大小
            userListPage.setPageNum(pageInfo.getPageNum());    //数量
            userListPage.setTotalRows(pageInfo.getTotal());    //总量
            userListPage.setTotalPage(pageInfo.getPages());    //页数
            return userListPage;                    //返回  
        }
      //更新user 把model层的列表传给DAO层的 mybatise有着通用的接口查询直接调用
        public int updateUser(UserList userList){
            return userCenterDao.updateByPrimaryKeySelective(userList);
        }
      //更新是dao层自定义的upadteValid 
        public int deleteUser(Integer id){
            return userCenterDao.updateValid(id);
        }
      //新增  调用通用方法
        public int addUser(UserList userList){ return  userCenterDao.insertSelective(userList);}
    
     
    }

    VO层 是展示界面

    import com.choosefine.automatedtest.cases.usercenter.model.UserList;
    import com.choosefine.automatedtest.common.vo.PageVo;
    
    import java.util.List;
    
    public class UserListPage extends PageVo<UserList>{
    
    }

     model 层 

    import io.swagger.annotations.ApiModelProperty;
    
    import javax.persistence.Id;
    import javax.persistence.Table;
    import java.util.Date;
    
    /**
     * 对应数据库字段
     */
    @Table(name = "automated_user")
    public class UserList {
        @Id
        @ApiModelProperty(value = "user自增id")
        private Integer id;
        @ApiModelProperty(value = "真实姓名")
        private String realName;
        @ApiModelProperty(value = "登录名")
        private String userName;
        @ApiModelProperty(value = "登录密码")
        private String password;
        @ApiModelProperty(value = "是否有效,不用传此参数,默认为1")
        private Integer isValid;
        @ApiModelProperty(value = "创建时间,新增时不用传此参数")
        private Date createTime;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer 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;
        }
    
        public Integer getIsValid() {
            return isValid;
        }
    
        public void setIsValid(Integer isValid) {
            this.isValid = isValid;
        }
    
        public String getRealName() {
            return realName;
        }
    
        public void setRealName(String realName) {
            this.realName = realName;
        }
    
        public Date getCreateTime() {
            return createTime;
        }
    
        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }
    }

    这段是comm类的pageVo类

    public class PageVo<T> {
        private List<T> list;
        private Integer pageSize;
        private Integer pageNum;
        private long totalRows;
        private Integer totalPage;
    
        public List<T> getList() {
            return list;
        }
    
        public void setList(List<T> list) {
            this.list = list;
        }
    
        public Integer getPageSize() {
            return pageSize;
        }
    
        public void setPageSize(Integer pageSize) {
            this.pageSize = pageSize;
        }
    
        public Integer getPageNum() {
            return pageNum;
        }
    
        public void setPageNum(Integer pageNum) {
            this.pageNum = pageNum;
        }
    
        public long getTotalRows() {
            return totalRows;
        }
    
        public void setTotalRows(long totalRows) {
            this.totalRows = totalRows;
        }
    
        public Integer getTotalPage() {
            return totalPage;
        }
    
        public void setTotalPage(Integer totalPage) {
            this.totalPage = totalPage;
        }
    }
    View Code

      vo 层代码 

    public class UserListPage extends PageVo<UserList>{
    //所有分页的代码都继承 PageVo<model类>
    }

    dao 层代码

    import com.choosefine.automatedtest.cases.usercenter.dynamicsql.DynamicSql; //动态sql语句 
    import com.choosefine.automatedtest.cases.usercenter.model.UserList;  //实体类
    import com.choosefine.automatedtest.common.dao.BaseMapper;  // baseMapper类 该类继承了 Mapper<T>,MySqlMapper<T>
    import org.apache.ibatis.annotations.Mapper;  //注解mapper  后面跟着Sql 
    import org.apache.ibatis.annotations.Param;   //注解 param
    import org.apache.ibatis.annotations.SelectProvider;  // 注解SelectProvider
    import org.apache.ibatis.annotations.Update;  //  注解Upadte
    
    import java.util.List;
    
    /**
     * Created by Administrator on 2017/7/20.
     */
    @Mapper
    public interface UserCenterDao extends BaseMapper<UserList>{ // baseMapper 见上
        @SelectProvider(    //定义拼装sql 
                type = DynamicSql.class,
                method = "dynamicSql"
        )      
        public List<UserList> findUserList(@Param("realName") String realName, @Param("userName") String userName);    //查询
        @Update("update automated_user set is_valid = 0 where id = #{id}")    //注解方式sql语句
        int updateValid(@Param("id") Integer id);
    
    
    }

    动态Sql

    import org.apache.ibatis.annotations.Param;  //参数注解
    import org.apache.ibatis.jdbc.SQL;  // Jdbc
    
    /**
     *select * from automated_user where real_name like  '%周%' and  user_name like '%z%' and is_valid = 1 order by 'creat_time' desc  
    */ 
    public class DynamicSql {      // 动态注解类
      //方法 动态SQL 两参数 真实姓名和用户名
        public String dynamicSql(@Param("realName") String realName, @Param("userName") String userName){
            SQL sql = new SQL();            // 实例化SQL 
            sql.SELECT("*");          // select *
            sql.FROM("automated_user");   //  select * from automated_user  
            if(realName != null && !realName.equals("")){          //当真实姓名不为空且真实姓名等于""
                sql.WHERE("real_name LIKE CONCAT(CONCAT('%', #{realName}), '%')");     // select * from automated_user where real_name like  '%周%' and  user_name like '%z%' and is_valid = 1 order by 'creat_time' desc  
             }
            if(userName != null && !userName.equals("")){
                sql.WHERE("user_name LIKE CONCAT(CONCAT('%', #{userName}), '%')");
            }
            sql.WHERE("is_valid = 1");
            sql.ORDER_BY("create_time desc");
            return sql.toString();
        }
    }

      表

    .

  • 相关阅读:
    [bzoj 4553][Tjoi2016&Heoi2016]序列
    [bzoj 5143][Ynoi 2018]五彩斑斓的世界
    [bzoj 4939][Ynoi 2016]掉进兔子洞
    luogu_P3674 小清新人渣的本愿
    [bzoj 2809][Apio2012]dispatching
    [bzoj 3110][zjoi 2013]K大数查询
    Entity Framework技巧系列之九
    Entity Framework技巧系列之八
    Entity Framework技巧系列之七
    Entity Framework技巧系列之六
  • 原文地址:https://www.cnblogs.com/hudj/p/7359150.html
Copyright © 2011-2022 走看看