【学习】SprinBoot 2 + MyBatis-Plus 3 核心功能之 Mapper CRUD 接口

上篇 初学可知,只要我们的 Mapper 类继承了 BaseMapper<Entity> ,就可以方便的使用 MP 的各种 CRUD 接口。

public interface UserMapper extends BaseMapper<User> {}

所有方法都在 Controller 中实现调用,当使用条件构造器时,需创建 QueryWrapper ,而不是 EntityWrapper。

EntityWrapper 所需的依赖 与 当前使用的 SpringBoot 2.1.4 版本不兼容,应该是 MyBatis-Plus 2 与 SpringBoot 1.X 时的用法。

另外根据 ID 进行操作的接口,需有名为 ID 的字段才能操作。

另外有个最最重要的 MyBatis-Plus 只适用于 单表操作


目录:

Mapper CRUD 接口

insert

deleteById

deleteByMap

delete

deleteBatchIds

updateById

update

selectById

selectBatchIds

selectByMap

selectOne

selectCount

selectList

selectMaps

selectObjs

selectPage

selectMapsPage


以下是在 Controller 中引入的包,昨天因为别人的 EntityWrapper 问题困扰了很久,所以自觉贴出来。

import com.alibaba.fastjson.JSONObject;
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.olresume.admin.entity.User;
import com.olresume.admin.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class UserController {
    @Autowired
    UserMapper userMapper;
}

 

Mapper CRUD 接口

insert

    /**
     * 插入一条记录
     * @param 实体类
     * @return 插入成功记录数
     */
    @ResponseBody
    @RequestMapping("/insert")
    public String insert(){
        User user = new User();
        user.setId("11");
        user.setName("双十一");
        int res = userMapper.insert(user);
        JSONObject object = new JSONObject();
        object.put("res",res);
        return  object.toJSONString();
    }

deleteById

    /**
     * 根据 ID 删除一条记录
     * @param 实体类
     * @return 删除成功记录数
     */
    @ResponseBody
    @RequestMapping("/deleteById")
    public String deleteById(){
        int res = userMapper.deleteById("11");
        JSONObject object = new JSONObject();
        object.put("res",res);
        return  object.toJSONString();
    }

deleteByMap

    /**
     * 根据 map 条件,删除记录,只能删除一条记录
     * @param Map对象
     * @return 删除成功记录数
     */
    @ResponseBody
    @RequestMapping("/deleteByMap")
    public String deleteByMap(){
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("name","一号");
        int res = userMapper.deleteByMap(map);
        JSONObject object = new JSONObject();
        object.put("res",res);
        return  object.toJSONString();
    }

delete

    /**
     * 根据条件,删除记录
     * @param QueryWrapper 对象
     * @return 删除成功记录数
     */
    @ResponseBody
    @RequestMapping("/delete")
    public String delete(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("id","3").or().eq("id","4");
        int res = userMapper.delete(wrapper);
        JSONObject object = new JSONObject();
        object.put("res",res);
        return  object.toJSONString();
    }

deleteBatchIds

    /**
     * 根据给出 ID 删除对应记录
     * @param Collection 对象
     * @return 删除成功记录数
     */
    @ResponseBody
    @RequestMapping("/deleteBatchIds")
    public String deleteBatchIds(){
        List<String> list = new ArrayList();
        list.add("1");
        list.add("2");
        int res = userMapper.deleteBatchIds(list);
        JSONObject object = new JSONObject();
        object.put("res",res);
        return  object.toJSONString();
    }

updateById

    /**
     * 根据给出 ID 更新实体类内容
     * @param 实体对象
     * @return 更新成功记录数
     */
    @ResponseBody
    @RequestMapping("/updateById")
    public String updateById(){
        User user = new User();
        user.setId("11");
        user.setName("双十一");
        int res = userMapper.updateById(user);
        JSONObject object = new JSONObject();
        object.put("res",res);
        return object.toJSONString();
    }

update

    /**
     * 根据给出 ID 更新实体类内容,除 ID 外的其他内容
     * @param 实体对象
     * @return 更新成功记录数
     */
    @ResponseBody
    @RequestMapping("/update")
    public String update(){
        User user = new User();
        user.setId("11");
        user.setName("双十一");
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name","一号");
        int res = userMapper.update(user,wrapper);
        JSONObject object = new JSONObject();
        object.put("res",res);
        return object.toJSONString();
    }

selectById

    /**
     * 根据 ID 查询
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectById")
    public String selectById(){
        User user = userMapper.selectById("1");
        JSONObject object = new JSONObject();
        object.put("userList",user);
        return  object.toJSONString();
    }

selectBatchIds

    /**
     * 根据多个 ID 查询
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectBatchIds")
    public String selectBatchIds(){
        ArrayList<String> ids = new ArrayList<String>();
        ids.add("1");
        ids.add("2");
        List<User> userList = userMapper.selectBatchIds(ids);
        JSONObject object = new JSONObject();
        object.put("userList",userList);
        return  object.toJSONString();
    }

selectByMap

    /**
     * 根据 map 中条件查询
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectByMap")
    public String selectByMap(){
        Map map = new HashMap();
        map.put("name","一号");
        List<User> userList = userMapper.selectByMap(map);
        JSONObject object = new JSONObject();
        object.put("userList",userList);
        return  object.toJSONString();
    }

selectOne

    /**
     * 根据 entity 条件查询
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectOne")
    public String selectOne(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name","一号");
        User user = userMapper.selectOne(wrapper);
        JSONObject object = new JSONObject();
        object.put("user",user);
        return  object.toJSONString();
    }

selectCount

    /**
     * 根据 queryWrapper 实体对象查询满足条件记录数
     * @return 符合条件记录数
     */
    @ResponseBody
    @RequestMapping("/selectCount")
    public String selectCount(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name","一号").or().eq("id","1");
        int cnt = userMapper.selectCount(wrapper);
        JSONObject object = new JSONObject();
        object.put("cnt",cnt);
        return  object.toJSONString();
    }

selectList

    /**
     * 列表查询
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectList")
    public String selectList(){
        List<User> userList = userMapper.selectList(null);
        JSONObject object = new JSONObject();
        object.put("userList",userList);
        return  object.toJSONString();
    }

selectMaps

    /**
     * 根据 queryWrapper 实体对象查询满足条件记录数
     * @param  实体对象封装操作类(可以为 null)
     * @return List<Map<String, Object>>
     */
    @ResponseBody
    @RequestMapping("/selectMaps")
    public String selectMaps(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name","一号").or().eq("id","2");
        List<Map<String, Object>> mapList = userMapper.selectMaps(wrapper);
        JSONObject object = new JSONObject();
        object.put("mapList",mapList);
        return  object.toJSONString();
    }

selectObjs

    /**
     * 根据 queryWrapper 实体对象查询满足条件记录
     * @param  实体对象封装操作类(可以为 null)
     * @return 只返回第一个字段的值
     */
    @ResponseBody
    @RequestMapping("/selectObjs")
    public String selectObjs(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name","一号").or().eq("id","2");
        List<Object> objList = userMapper.selectObjs(wrapper);
        JSONObject object = new JSONObject();
        object.put("objList",objList);
        return object.toJSONString();
    }

selectPage

    /**
     * 根据 queryWrapper 实体对象查询满足条件记录并分页
     * @param  实体对象封装操作类(可以为 null)
     * @return 实体分页对象
     */
    @ResponseBody
    @RequestMapping("/selectPage")
    public String selectPage(){
        Page<User> page = new Page<User>(1,10);
        QueryWrapper<User> wrapper = new QueryWrapper<User>();
        IPage<User> iPage = userMapper.selectPage(page,wrapper);
        JSONObject object = new JSONObject();
        object.put("pageList",iPage);
        return object.toJSONString();
    }

selectMapsPage

    /**
     * 根据 queryWrapper 实体对象查询满足条件记录并翻页
     * @param  实体对象封装操作类(可以为 null)
     * @return Map分页对象
     */
    @ResponseBody
    @RequestMapping("/selectMapsPage")
    public String selectMapsPage(){
        IPage<Map<String,Object>> iPage = userMapper.selectMapsPage(new Page<User>(1,10),
new QueryWrapper<User>());
        JSONObject object = new JSONObject();
        object.put("pageList",iPage);
        return object.toJSONString();
    }
原创文章 88 获赞 41 访问量 16万+

猜你喜欢

转载自blog.csdn.net/Damionew/article/details/89211710