栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java项目编写步骤

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java项目编写步骤

一、java工程 1.实体类代码示例(user)
  @Data
  public class User implements Serializable {

  private static final long serialVersionUID = 1L;

  private Long id;


    //姓名
    private String name;


    //密码
    private String password;


    //性别 0 女 1 男
    private String sex;


    //身份证号
    private String idNumber;


    //头像
    private String avatar;


    //状态 0:禁用,1:正常
    private Integer status;
}
2.mapper接口
@Mapper
public interface UserMapper extends BaseMapper {
}
3.service接口 3.1 UserService接口
public interface UserService extends IService {
}
3.2UserServiceImpl类
@Service
public class UserServiceImpl extends ServiceImpl implements UserService {
}
4.controller类的编写 相关代码说明
  1. 用户登录
  2. 用户退出登录
  3. 新增员工
  4. 员工分页查询
  5. 根据id修改员工信息
  6. 根据id查询员工信息
    代码如下所示:
@Slf4j
@RestController
@RequestMapping("/employee")
public class EmployeeController {
   @Autowired
   private EmployeeService employeeService;
   
   @PostMapping("/login")
   public R login(HttpServletRequest request, @RequestBody Employee employee) {
       //1、将页面提交的密码password进行md5加密处理
       String password = employee.getPassword();
       password = DigestUtils.md5DigestAsHex(password.getBytes());

       //2、根据页面提交的用户名username查询数据库
       LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
       queryWrapper.eq(Employee::getUsername,employee.getUsername());
       Employee emp = employeeService.getOne(queryWrapper);

       //3、如果没有查询到则返回登录失败结果
       if(emp == null){
           return R.error("登录失败");
       }
       //4、密码比对,如果不一致则返回登录失败结果
       if(!emp.getPassword().equals(password)){
           return R.error("登录失败");
       }

       //5、查看员工状态,如果为已禁用状态,则返回员工已禁用结果
       if(emp.getStatus() == 0){
           return R.error("账号已禁用");
       }
       //6、登录成功,将员工id存入Session并返回登录成功结果
       request.getSession().setAttribute("employee",emp.getId());
       return R.success(emp);
   }
   
   @PostMapping("/logout")
   public R logout(HttpServletRequest request){
       //清理Session中保存的当前登录员工的id
       request.getSession().removeAttribute("employee");
       return R.success("退出成功");
   }

   
   @PostMapping
   public R save(HttpServletRequest request,@RequestBody Employee employee){
       log.info("新增员工,员工信息: {}",employee.toString());

       //设置初始密码,并进行MD5加密处理
       employee.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes(StandardCharsets.UTF_8)));

//        employee.setCreateTime(LocalDateTime.now());
//        employee.setUpdateTime(LocalDateTime.now());
//        //获得当前用户的ID
//        Long empId = (Long) request.getSession().getAttribute("employee");
//        employee.setCreateUser(empId);
//        employee.setUpdateUser(empId);

       employeeService.save(employee);

       return R.success("新增员工成功");
   }

   
   @GetMapping("/page")
   public R page(int page,int pageSize,String name){
       log.info("page = {},pageSize = {},name = {}",page,pageSize,name);
       //构造分页构造器
       Page pageInfo = new Page(page,pageSize);

       //构造条件构造器
       LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper();
       //添加过滤条件
       queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
       //添加排序条件
       queryWrapper.orderByDesc(Employee::getUpdateTime);

       //执行查询
       employeeService.page(pageInfo,queryWrapper);

       return R.success(pageInfo);
   }

   
   @PutMapping
   public R update(HttpServletRequest request,@RequestBody Employee employee) {
       //log.info(employee.toString());
       employeeService.updateById(employee);
       return R.success("员工信息修改成功");
   }

   
   @GetMapping("/{id}")
   public R getById(@PathVariable Long id) {
       log.info("根据ID查询员工信息----");
       Employee employee = employeeService.getById(id);
       if(employee != null){
           return R.success(employee);
       }
       return  R.error("没有查询到对应员工信息");
   }
}
5.增加代码复用性,配置公共类 通用返回结果类
@Data
public class R {

    private Integer code; //编码:1成功,0和其它数字为失败

    private String msg; //错误信息

    private T data; //数据

    private Map map = new HashMap(); //动态数据

    public static  R success(T object) {
        R r = new R();
        r.data = object;
        r.code = 1;
        return r;
    }

    public static  R error(String msg) {
        R r = new R();
        r.msg = msg;
        r.code = 0;
        return r;
    }

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

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/927043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号