mybatisplus常见的增删改查和条件查询的方法

package com.example.mybatisplus;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplus.dao.EmpDao;
import com.example.mybatisplus.dao.SosoDao;
import com.example.mybatisplus.pojo.Emp;
import com.example.mybatisplus.pojo.Soso;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;
import java.util.Map;

@SpringBootTest
class MybatisPlusApplicationTests {

    @Test
    void contextLoads() {
    }

    @Autowired
    private SosoDao sosoDao;
    @Test
//    查询所有
    public void testGetAll() {
        sosoDao.selectList(null);
    }

    @Test
//    删除
    public void delemp() {
//        Emp emp = new Emp();
//        emp.setEmpno(39);
//        emp.setSalary(99999);
        int i = sosoDao.deleteById(40);
        System.out.println(i+"======qqqqqqqqqqq");
    }

    @Test
//    新增
    public void addsoso() {
//        Emp emp = new Emp();
//        emp.setEmpno(39);
//        emp.setSalary(99999);
        Soso soso = new Soso(0,"34","546","67","87","78","5467");
        int i = sosoDao.insert(soso);
    }

    @Test
//    修改
    public void upsoso() {
//        Emp emp = new Emp();
//        emp.setEmpno(39);
//        emp.setSalary(99999);
        Soso soso = new Soso(36,"888","888","888","男","88","88");
        int i = sosoDao.updateById(soso);
    }

    @Test
//   分页查询
    public void  page() {
        IPage page = new Page(1,2);
        sosoDao.selectPage(page,null);
        System.out.println("当前第几页==="+page.getCurrent());
        System.out.println("每页几条==="+page.getSize());
        System.out.println("一共多少页==="+page.getPages());
        System.out.println("一共几条数据==="+page.getTotal());
        System.out.println("数据"+page.getRecords());
    }

    @Autowired
    private EmpDao empDao;
    @Test
//    条件查询
    public void aaa() {
//        QueryWrapper qw = new QueryWrapper<>();
//        查询工资小于5000 普通格式
//        qw.lt("salary",5000);
//        List emps = empDao.selectList(qw);
//        System.out.println(emps);

//        lambda格式条件查询格式(首选)
        LambdaQueryWrapper<Emp> qw = new LambdaQueryWrapper<Emp>();
        LambdaQueryWrapper<Emp> qw1 = new LambdaQueryWrapper<Emp>();
//        查询工资小于3000大于1000的人 lt:小于 gt:大于 and关系
        qw.lt(Emp::getSalary,3000).gt(Emp::getSalary,1000);
//        查询工资小于1000并且大于3000的人 lt:小于 gt:大于 or关系
        qw1.lt(Emp::getSalary,3000).or().gt(Emp::getSalary,10000);
        List<Emp> emps = empDao.selectList(qw);
        List<Emp> emps1 = empDao.selectList(qw1);
        System.out.println(emps);
        System.out.println(emps1);

//        lambda格式条件查询格式(次选)
//        QueryWrapper<Emp> qw1 = new QueryWrapper<Emp>();
//        qw1.lambda().lt(Emp::getSalary,5000);
//        List<Emp> emps1 = empDao.selectList(qw1);
//        System.out.println(emps1);

        System.out.println("===========================");
//        条件查询null值处理
        Emp emp = new Emp();
        emp.setEname("");
        emp.setSalary(3000);
        LambdaQueryWrapper<Emp> qw2 = new LambdaQueryWrapper<Emp>();
//        名字里有张的或者没有名字这个条件的
        qw2.like(null != emp.getEname(),Emp::getEname,emp.getEname())
//        工资小于填写的值或者没工资这个条件的
        .lt(null != emp.getSalary(),Emp::getSalary,emp.getSalary());
        List<Emp> emps2 = empDao.selectList(qw2);
        System.out.println(emps2);
    }

    //        查询投影 指定列查询
    @Test
    public void bbb() {
        QueryWrapper<Emp> qw = new QueryWrapper<>();
        QueryWrapper<Emp> qw1 = new QueryWrapper<>();
        qw.select("ename","job","salary","deptno");
//        List<Emp> emps = empDao.selectList(qw);
        qw1.select("count(*) as count,deptno");   //可以统计查询条数 as加别名结果更好看清楚点
        qw1.groupBy("deptno");//这样代表用部门分组 可以查出来各个部门的人数 统计用的
        List<Map<String, Object>> maps = empDao.selectMaps(qw1);
        System.out.println("=================");
//        System.out.println(emps);
        System.out.println("=================");
        System.out.println("+++++++++");
        System.out.println(maps); //结果为:取别名前:[{count(*)=16}] 取别名后:[{count=16}]

//        empDao.deleteBatchIds() 批量删除参数写一个列表
//        empDao.selectBatchIds() 批量查询参数写一个列表

    }



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值