springboot+mybatis实现查询(四)

一,获取单个

代码依次为controller->service->serviceImpl->mapper->xml

@GetMapping("/{id}")
    public Result getDept(@PathVariable Integer id){
    log.info("根据id查询部门{}",id);
    List<Dept> depList = deptService.getDept(id);
    return  Result.success(depList);
}
Emp getById(Integer id);
   @Override
     public List<Dept> getDept(Integer id) {
        return deptMapper.getDept(id);
    }
@Select("select * from dept where id = #{id}")
    List<Dept> getDept(Integer id)

二,查询所有

代码依次为controller->service->serviceImpl->mapper->xml

    @Autowired
    private DeptService deptService;
    /**
     * 获取部门列表
     */
    @GetMapping
    public Result list(){
        log.info("查询所有部门");
        List<Dept> depList =  deptService.list();
        return Result.success(depList);
    };
    //查询全部部门数据
    List<Dept> list();
    //获取列表
    @Override
    public List<Dept> list() {
        return deptMapper.list();
    }
    @Select("select  * from  dept order by update_time DESC ")
    List<Dept> list();

三,条件&&分页查询

代码依次为controller->service->serviceImpl->mapper->xml

1.引入pageHelper依赖

     <!--PageHelper分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.2</version>
        </dependency>

2.封装page实体类

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean {
    private Long total;
    private List rows;//数据列表
}

3.编码

如果不是条件查询后面几个字段可以不加

    @GetMapping("/emps")
    public Result page(@RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "10") Integer pageSize,
                       String name, Short gender,
                       @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
        log.info("分页查询{},{}", page, pageSize);
        PageBean pageBean = empService.page(page, pageSize,  name,  gender,  begin,  end);
        return Result.success(pageBean);
    }
  PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin,  LocalDate end);
    public PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end) {
        //1. 设置分页参数
        PageHelper.startPage(page, pageSize);

        //2. 执行查询
        List<Emp> empList = empMapper.list(name, gender, begin, end);
        Page<Emp> p = (Page<Emp>) empList;

        //3. 封装PageBean对象
        PageBean pageBean = new PageBean(p.getTotal(), p.getResult());
        return pageBean;
    }
    public List<Emp> list(String name, Short gender,LocalDate begin, LocalDate end);
<select id="list" resultType="com.yy.tilas.pojo.Emp">
        select *
        from emp
        <where>
            <if test="name != null and name != ''">
                name like concat('%',#{name},'%')
            </if>
            <if test="gender != null">
                and gender = #{gender}
            </if>
            <if test="begin != null and end != null">
                and entrydate between #{begin} and #{end}
            </if>
        </where>
        order by update_time desc
    </select>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值