• SprintBoot案例-增删改查


    黑马程序员JavaWeb开发教程

    文章目录


    在这里插入图片描述

    一、准备工作

    1. 准备数据库表

    1.1 新建数据库mytlias

    # 新建数据库 mytlias
    create database mytlias;
    # 使用数据库 mytlias
    use mytlias;
    

    1.2 新建部门表dept

    1. 新建部门表
    -- 部门管理
    create table dept(
        id int unsigned primary key auto_increment comment '主键ID',
        name varchar(10) not null unique comment '部门名称',
        create_time datetime not null comment '创建时间',
        update_time datetime not null comment '修改时间'
    ) comment '部门表';
    
    1. 向部门表中插入数据
    insert into dept (id, name, create_time, update_time)
    values(1,'学工部',now(),now()),
          (2,'教研部',now(),now()),
          (3,'咨询部',now(),now()),
          (4,'就业部',now(),now()),
          (5,'人事部',now(),now());
    

    1.3 新建员工表emp

    1. 新建员工表
    -- 员工管理(带约束)
    create table emp (
         id int unsigned primary key auto_increment comment 'ID',
         username varchar(20) not null unique comment '用户名',
         password varchar(32) default '123456' comment '密码',
         name varchar(10) not null comment '姓名',
         gender tinyint unsigned not null comment '性别, 说明: 1 男, 2 女',
         image varchar(300) comment '图像',
         job tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师',
         entrydate date comment '入职时间',
         dept_id int unsigned comment '部门ID',
         create_time datetime not null comment '创建时间',
         update_time datetime not null comment '修改时间',
        foreign key (dept_id) references dept(id) # 部门表的主键id 是员工表的一个外键
    ) comment '员工表';
    
    1. 向员工表中插入数据
    INSERT INTO emp
    (id, username, password, name, gender, image, job, entrydate,dept_id, create_time, update_time)
    VALUES  (1,'jinyong','123456','金庸',1,'1.jpg',4,'2000-01-01',2,now(),now()),
            (2,'zhangwuji','123456','张无忌',1,'2.jpg',2,'2015-01-01',2,now(),now()),
            (3,'yangxiao','123456','杨逍',1,'3.jpg',2,'2008-05-01',2,now(),now()),
            (4,'weiyixiao','123456','韦一笑',1,'4.jpg',2,'2007-01-01',2,now(),now()),
            (5,'changyuchun','123456','常遇春',1,'5.jpg',2,'2012-12-05',2,now(),now()),
            (6,'xiaozhao','123456','小昭',2,'6.jpg',3,'2013-09-05',1,now(),now()),
            (7,'jixiaofu','123456','纪晓芙',2,'7.jpg',1,'2005-08-01',1,now(),now()),
            (8,'zhouzhiruo','123456','周芷若',2,'8.jpg',1,'2014-11-09',1,now(),now()),
            (9,'dingminjun','123456','丁敏君',2,'9.jpg',1,'2011-03-11',1,now(),now()),
            (10,'zhaomin','123456','赵敏',2,'10.jpg',1,'2013-09-05',1,now(),now()),
            (11,'luzhangke','123456','鹿杖客',1,'11.jpg',5,'2007-02-01',3,now(),now()),
            (12,'hebiweng','123456','鹤笔翁',1,'12.jpg',5,'2008-08-18',3,now(),now()),
            (13,'fangdongbai','123456','方东白',1,'13.jpg',5,'2012-11-01',3,now(),now()),
            (14,'zhangsanfeng','123456','张三丰',1,'14.jpg',2,'2002-08-01',2,now(),now()),
            (15,'yulianzhou','123456','俞莲舟',1,'15.jpg',2,'2011-05-01',2,now(),now()),
            (16,'songyuanqiao','123456','宋远桥',1,'16.jpg',2,'2007-01-01',2,now(),now()),
            (17,'chenyouliang','123456','陈友谅',1,'17.jpg',NULL,'2015-03-21',NULL,now(),now());
    
    

    2. 准备一个Springboot工程

    2.1 新建一个项目

    在这里插入图片描述
    在这里插入图片描述

    • 引入对应的起步依赖(web、mybatis、mysql驱动、lombok)

    在这里插入图片描述

    3. 配置文件application.properties中引入mybatis的配置信息,准备对应的实体类

    3.1 引入mybatis的配置信息

    • 在application.properties中添加以下代码
      在这里插入图片描述
    # MyBatis配置信息
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    # 改成你自己要连接的数据库的名字(mytlias)
    spring.datasource.url=jdbc:mysql://localhost:3306/mytlias
    # 自己数据库用户名(root)
    spring.datasource.username=root
    # 自己数据库密码(123456)
    spring.datasource.password=123456
    
    #开启驼峰命名
    mybatis.configuration.map-underscore-to-camel-case=true 
    

    3.2 准备对应的实体类

    • 创建一个文件夹pojo,并在其下创建两个类Dept、Emp
      在这里插入图片描述
    1. 实体类Dept
    package com.itheima.mytlias.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.time.LocalDateTime;
    
    @Data//生成getter、setter、tostring等
    @AllArgsConstructor//全参构造函数
    @NoArgsConstructor//无参构造函数
    public class Dept {
        private Integer id; // 部门id
        private String name; // 部门名称
        private LocalDateTime createTime; // 创建时间
        private LocalDateTime updateTime; // 更新时间
    
    }
    
    
    1. 实体类Emp
    package com.itheima.mytlias.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Emp {
        private Integer id;//用户id
        private String username;//用户名
        private String password;//用户密码
        private String name;//用户姓名
        private Short gender;//用户新别
        private String image;//图像地址
        private Short job;//职位
        private LocalDate entrydate;//日志日期
        private Integer deptId;//部门id
        private LocalDateTime createTime;//创建时间
        private LocalDateTime updateTime;//更新时间
    }
    
    

    4. 准备对应的mapper、service、controller基础结构

    4.1 创建结构

    在这里插入图片描述

    4.2 controller

    1. DeptController
    package com.itheima.mytlias.controller;
    
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class DeptController {
    }
    
    
    1. EmpController
    package com.itheima.mytlias.controller;
    
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class EmpController {
    }
    
    

    4.3 service

    1. deptService
    package com.itheima.mytlias.service;
    
    
    public interface DeptService {
    }
    
    
    1. EmpService
    package com.itheima.mytlias.service;
    
    public interface EmpService {
    }
    
    
    1. DeptServiceImpl
    package com.itheima.mytlias.service.impl;
    
    import com.itheima.mytlias.service.DeptService;
    import org.springframework.stereotype.Service;
    
    @Service
    public class DeptServiceImpl implements DeptService {
    }
    
    
    1. EmpServiceImpl
    package com.itheima.mytlias.service.impl;
    
    import com.itheima.mytlias.service.EmpService;
    import org.springframework.stereotype.Service;
    
    @Service
    public class EmpServiceImpl implements EmpService {
    }
    
    

    4.4 Mapper

    1. DeptMapper
    package com.itheima.mytlias.mapper;
    
    import org.apache.ibatis.annotations.Mapper;
    
    @Mapper
    public interfaceDeptMapper {
    }
    
    
    1. EmpMapper
    package com.itheima.mytlias.mapper;
    
    import org.apache.ibatis.annotations.Mapper;
    
    @Mapper
    public interfaceEmpMapper {
    }
    
    

    5. 统一响应结果

    • 为了统一响应结果,需要在pojo包下创建Result类
    package com.itheima.mytlias.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Result {
        private Integer code;//响应码,1 代表成功; 0 代表失败
        private String msg;  //响应信息 描述字符串
        private Object data; //返回的数据
    
        //增删改 成功响应
        public static Result success() {
            return new Result(1, "success", null);
        }
    
        //查询 成功响应
        public static Result success(Object data) {
            return new Result(1, "success", data);
        }
    
        //失败响应
        public static Result error(String msg) {
            return new Result(0, msg, null);
        }
    }
    
    

    二、部门管理-查询

    1. 需求说明

    在这里插入图片描述

    2. 接口文档

    在这里插入图片描述

    3. 代码实现

    3.1 controller层

    package com.itheima.mytlias.controller;
    
    import com.itheima.mytlias.pojo.Dept;
    import com.itheima.mytlias.pojo.Result;
    import com.itheima.mytlias.service.DeptService;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.awt.*;
    import java.util.List;
    
    
    @Slf4j//打印日志使用
    @RestController
    @RequestMapping("/depts")//本例下所有的请求都会以/dept开头,所以可以使用这个注解,提取出来
    public class DeptController {
    
        //注入
        @Autowired
        private DeptService deptService;
        /**
         * 查询所有部门数据
         * 请求方式为 Get
         * 请求路径为/dept
         * 无参数
         * 返回统一响应结果
         * @return
         */
        @GetMapping
        public Result list(){
           //打印日志
            log.info("查询所有部门数据");
           //调用service,查询所有部门数据
            List deptList = deptService.list();
            //返回结果
            return Result.success(deptList);
        }
    }
    
    

    3.2 service层

    1. service
    package com.itheima.mytlias.service;
    
    
    import com.itheima.mytlias.pojo.Dept;
    
    import java.util.List;
    
    public interface DeptService {
        /**
         * 查询部门所有数据
         * @return
         */
        List list();
    }
    
    
    1. impl
    package com.itheima.mytlias.service.impl;
    
    import com.itheima.mytlias.mapper.DeptMapper;
    import com.itheima.mytlias.pojo.Dept;
    import com.itheima.mytlias.service.DeptService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class DeptServiceImpl implements DeptService {
        //注入
        @Autowired
        private DeptMapper deptMapper;
    
        /**
         * 查询所有部门数据
         * @return
         */
        @Override
        public List list() {
            //调用mapper查询所有部门数据
            List deptList=deptMapper.list();
            return deptList;
        }
    }
    
    

    3.3 mapper层

    package com.itheima.mytlias.mapper;
    
    import com.itheima.mytlias.pojo.Dept;
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Select;
    
    import java.util.List;
    
    @Mapper
    public interface DeptMapper {
    
    
        /**
         * 查询部门全部数据
         * @return
         */
        @Select("select * from dept")
        public List list();
    }
    
    

    4. postman测试

    在这里插入图片描述

    三、部门管理-删除

    1. 需求说明

    在这里插入图片描述

    • 也就是根据部门id删除部门

    2. 接口文档

    在这里插入图片描述

    3. 代码实现

    3.1 controller层

    • 从这里向后,只给出新增的代码
     /**
         * 根据部门id删除部门
         * 请求方式为 Delete
         * 请求路径为/depts/{id}
         * 参数为部门id,路径参数,需要加上注解 @PathVariable
         * 返回统一响应结果
         * @param id
         * @return
         */
        @DeleteMapping("/{id}")
        public Result deleteById(@PathVariable Integer id){
            //打印日志
            log.info("根据部门id删除部门");
            //调用service,根据部门id删除部门
            deptService.deleteById(id);
            //返回结果
            return Result.success();
        }
    

    3.2 service层

    1. service
     /**
         * 根据部门id删除部门
         * @param id
         */
        void deleteById(Integer id);
    
    1. impl
    /**
         * 根据部门id删除部门
         * @param id
         */
        @Override
        public void deleteById(Integer id) {
            //调用mapper,根据部门id删除部门
            deptMapper.deleteById(id);
        }
    

    3.3 mapper层

     /**
         * 根据部门id删除部门
         * @param id
         */
        @Delete("delete from dept where id=#{id}")
        void deleteById(Integer id);
    

    4. postman测试

    在这里插入图片描述

    四、部门管理-新增

    1. 需求说明

    在这里插入图片描述

    • 根据部门名称新增部门

    2. 接口文档

    在这里插入图片描述

    3. 代码实现

    3.1 controller层

    /**
         * 根据部门名称添加部门
         * 请求方式为 POST
         * 请求路径为/depts
         * 参数为JSON格式数据,因此需要加上注解 @RequestBody
         * 返回统一响应结果
         * @param dept
         * @return
         */
        @PostMapping
        public Result insertByName(@RequestBody Dept dept){
            //打印日志
            log.info("根据部门名称添加部门");
            //调用service,根据部门名称添加部门
            deptService.insertByName(dept);
            //返回结果
            return Result.success();
    
        }
    

    3.2 service层

    1. service
    /**
         * 根据部门名称添加部门
         * @param dept
         */
        void insertByName(Dept dept);
    
    1. impl
    /**
         * 根据部门名称添加部门
         * @param dept
         */
        @Override
        public void insertByName(Dept dept) {
            //修改基础信息
            dept.setCreateTime(LocalDateTime.now());
            dept.setUpdateTime(LocalDateTime.now());
            //调用mapper,根据部门名称添加部门
            deptMapper.insertByName(dept);
        }
    

    3.3 mapper层

    /**
         * 根据部门名称添加部门
         * @param dept
         */
        @Insert("insert into dept (id, name, create_time, update_time) values (#{id},#{name},#{createTime},#{updateTime})")
        void insertByName(Dept dept);
    

    4. postman测试

    在这里插入图片描述

    {
        "name":"人事部"
    }
    

    五、员工管理-分页查询

    1. 需求说明

    在这里插入图片描述

    2. 接口文档

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3. 代码实现

    3.1 controller层

    package com.itheima.mytlias.controller;
    
    import com.itheima.mytlias.pojo.PageBean;
    import com.itheima.mytlias.pojo.Result;
    import com.itheima.mytlias.service.EmpService;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.format.annotation.DateTimeFormat;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.time.LocalDate;
    
    @Slf4j
    @RestController
    @RequestMapping("/emps")
    public class EmpController {
        @Autowired
        private EmpService empService;
    
        @GetMapping
        //@RequestParam:为了给形参指定默认值
        //@DateTimeFormat:日期时间类型的参数,需要使用该注解指定格式
        public Result page(String name, Short gender,
                           @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
                           @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end,
                           @RequestParam(defaultValue = "1") Integer page,
                           @RequestParam(defaultValue = "2") Integer pageSize) {
            //打印日志
            log.info("参数 {},{},{},{},{},{}", name, gender, begin, end, page, pageSize);
            //调用service
            PageBean pageBean = empService.page(name, gender, begin, end, page, pageSize);
            //返回结果
            return Result.success(pageBean);
    
        }
    }
    
    

    3.2 service层

    1. service
    package com.itheima.mytlias.service;
    
    import com.itheima.mytlias.pojo.PageBean;
    
    import java.time.LocalDate;
    
    public interface EmpService {
        /**
         * 分页查询
         *
         * @return
         */
        PageBean page(String name, Short gender, LocalDate begin, LocalDate end, Integer page, Integer pageSize);
    }
    
    
    1. impl
    package com.itheima.mytlias.service.impl;
    
    import com.github.pagehelper.Page;
    import com.github.pagehelper.PageHelper;
    import com.itheima.mytlias.mapper.EmpMapper;
    import com.itheima.mytlias.pojo.Emp;
    import com.itheima.mytlias.pojo.PageBean;
    import com.itheima.mytlias.service.EmpService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.time.LocalDate;
    import java.util.List;
    
    @Service
    public class EmpServiceImpl implements EmpService {
        @Autowired
        private EmpMapper empMapper;
    
        /**
         * 分页查询
         *
         * @return
         */
        @Override
        public PageBean page(String name, Short gender, LocalDate begin, LocalDate end, Integer page, Integer pageSize) {
    
            //使用pagehelper指定查询页码,和每页查询数据
            PageHelper.startPage(page, pageSize);
            //执行查询
            List empList = empMapper.list(name, gender, begin, end);
            Page p = (Page) empList;//强制转换成Page类型
            Long count = p.getTotal();
            List result = p.getResult();
            //封装为 PageBean
            PageBean pageBean = new PageBean(count, result);
            return pageBean;
        }
    }
    
    

    3.3 mapper层

    1. mapper
    package com.itheima.mytlias.mapper;
    
    import com.itheima.mytlias.pojo.Emp;
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select;
    import org.springframework.web.bind.annotation.PathVariable;
    
    import java.time.LocalDate;
    import java.util.List;
    
    @Mapper
    public interface EmpMapper {
        /**
         * 使用pageHelper的话,只需要定义一个简单的查询就可以
         *
         * @return
         */
        public List list(@Param("name") String name, @Param("gender") Short gender, @Param("begin") LocalDate begin, @Param("end") LocalDate end);
    }
    
    
    1. EmpMapper.xml
    
    
    
    
    
        
        
        
    
    

    4. postman测试

    在这里插入图片描述

    http://localhost:8080/emps?name=张&gender=1&begin=2000-01-01&end=2010-01-01
    

    六、员工管理-删除员工

    1. 需求说明

    在这里插入图片描述

    2. 接口文档

    在这里插入图片描述

    3. 代码实现

    3.1 controller层

    /**
         * 根据员工id,删除员工
         * 请求方式为 DELETE
         * 请求路径为/emps
         * 返回统一响应结果
         * 参数:
         * @param ids  @PathVariable 路径参数需要加这个注解
         * @return
         */
        @DeleteMapping("/{ids}")
        public Result DeleteById(@PathVariable List ids){
            //打印日志
            log.info("参数:{}",ids);
            //调用service
            empService.deleteById(ids);
            //返回结果
            return Result.success();
        }
    

    3.2 service层

    1. service
     /**
         * 根据员工 id删除员工
         * @param ids
         */
        void deleteById(List ids);
    
    1. impl
     /**
         * 根据员工 id删除员工
         * @param ids
         */
        @Override
        public void deleteById(List ids) {
            //调用mapper 删除员工
            empMapper.deleteById(ids);
    
        }
    

    3.3 mapper层

    1. EmpMapper
    /**
         * 根据id删除员工
         * @param ids
         */
        void deleteById(@Param("ids") List ids);
    
    1. EmpMApper.xml
    
        
        
            delete from emp where id in
            
                #{id}
            
        
    

    4. postman测试

    在这里插入图片描述

    七、员工管理-新增员工

    1. 需求说明

    在这里插入图片描述
    在这里插入图片描述

    2. 接口文档

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    3. 代码实现

    3.1 controller层

    /**
         * 新增员工
         * 请求方式为 POST
         * 请求路径为/emps
         * 返回统一响应结果
         * 参数:
         * @param emp @RequestBody 如果参数是JSON格式的数据,需要加这个注解
         * @return
         */
        @PostMapping
        public Result insert(@RequestBody Emp emp){
            //打印日志
            log.info("新增员工");
            //调用servicce
            empService.insert(emp);
            //返回结果
            return Result.success();
        }
    

    3.2 service层

    1. service
    /**
         * 新增员工
         */
        void insert(Emp emp);
    
    1. impl
    /**
         * 新增员工
         */
        @Override
        public void insert(Emp emp) {
            //处理基本数据
            emp.setCreateTime(LocalDateTime.now());
            emp.setUpdateTime(LocalDateTime.now());
            //调用mapper
            empMapper.insert(emp);
        }
    

    3.3 mapper层

     /**
         * 新增员工
         */
        @Insert("insert into emp(id,username,password,name,gender,image,dept_id,entrydate,job,create_time,update_time) values(null,#{username},#{password},#{name},#{gender},#{image},#{deptId},#{entrydate},#{job},#{createTime},#{updateTime})")
        void insert(Emp emp);
    

    4. postman测试

    在这里插入图片描述

    八、员工管理-修改

    – 修改可以分为两个步骤:根据id查询员工;修改员工信息

    1. 根据id 查询员工

    1.1 需求说明

    在这里插入图片描述

    1.2 接口文档

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1.3 代码实现

    1.3.1 controller层
    /**
         * 该接口用于根据主键ID查询员工的信息
         * 请求方式为 GET
         * 请求路径为/emps/{id}
         * 返回统一响应结果-Emp
         * 参数:
         *
         * @param id @PathVariable 路径参数,添加此注解
         * @return
         */
        @GetMapping("/{id}")
        public Result getById(@PathVariable Integer id) {
            //打印日志
            log.info("参数 {}", id);
            //调用service,根据主键ID查询员工的信息
            Emp emp = empService.getById(id);
            //返回结果
            return Result.success(emp);
        }
    
    1.3.2 service层
    1. service
    /**
         * 根据主键ID查询员工的信息
         * @param id
         * @return
         */
        Emp getById(Integer id);
    
    1. impl
     /**
         * 根据主键ID查询员工的信息
         * @param id
         * @return
         */
        @Override
        public Emp getById(Integer id) {
            //调用mapper,根据主键ID查询员工的信息
            Emp emp=empMapper.getById(id);
            return emp;
        }
    
    1.3.3 mapper层
    /**
         * 根据主键ID查询员工的信息
         * @return
         */
        @Select("select * from emp where id=#{id}")
        Emp getById(@Param("id") Integer id);
    

    1.4 postman测试

    在这里插入图片描述

    2. 修改员工数据

    1.1 需求说明

    • 同上

    1.2 接口文档

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1.3 代码实现

    1.3.1 controller层
    /**
         * 该接口用于修改员工的数据信息
         * 请求方式为 PUT
         * 请求路径为/emps
         * 返回统一响应结果
         * 参数:
         * @param emp  @RequestBody 若参数是JSON格式的数据的话,需要加上该注解
         * @return
         */
        @PutMapping
        public Result update(@RequestBody Emp emp){
            //打印日志
            log.info("修改员工的数据信息");
            //调用service
            empService.update(emp);
            //返回结果
            return Result.success();
        }
    
    1.3.2 service层
    1. service
    /**
         * 修改员工的数据信息
         * @param emp
         */
        void update(Emp emp);
    
    1. impl
    /**
         * 修改员工的数据信息
         * @param emp
         */
        @Override
        public void update(Emp emp) {
            //设置基本值
            emp.setUpdateTime(LocalDateTime.now());
            //调用mapper,修改员工的数据信息
            empMapper.update(emp);
        }
    
    1.3.3 mapper层
    1. EmpMapper
     /**
         * 修改员工的数据信息
         */
        void update(Emp emp);
    
    1. EmpMapper.xml
    
        
            update emp
            
                username =#{username},
                name=#{name},
                gender=#{gender},
                image=#{image},
                dept_id=#{deptId},
                entrydate=#{entrydate},
                job=#{job}
            
            where id=#{id}
        
    

    1.4 postman测试

    在这里插入图片描述

    {
        "id":1,
        "username":"jinyongnew",
        "name":"金庸",
        "gender":1,
        "image":"1.jpg",
        "job":4,
        "entrydate":"2000-01-01",
        "deptId":2
    }
    
  • 相关阅读:
    [SWPUCTF 2021 新生赛] web
    【独家揭秘】面试题:如何高效查询主表一千万,从表一亿的数据?
    10分钟带你学习华为云数据库RDS
    SpringBoot教程:基本涵盖日常开发所有知识点
    大数据分析与开发就业保障班
    关于阅读总量数据校正的说明
    改进教学的优化算法(Matlab代码实现)
    Qt专栏3—Qt项目创建Hello World
    八股文的终点,是刷题大冤种?还是offer收割机
    第四次考核 Jimmy 学徒考核 Linux安装软件 rnaseq上游分析-2 ascp kingfisher数据下载ena
  • 原文地址:https://blog.csdn.net/weixin_43866613/article/details/138889661