从 上篇 初学可知,只要我们的 Mapper 类继承了 BaseMapper
public interface UserMapper extends BaseMapper {}
所有方法都在 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;
}
/**
* 插入一条记录
* @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();
}
/**
* 根据 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();
}
/**
* 根据 map 条件,删除记录,只能删除一条记录
* @param Map对象
* @return 删除成功记录数
*/
@ResponseBody
@RequestMapping("/deleteByMap")
public String deleteByMap(){
Map map = new HashMap();
map.put("name","一号");
int res = userMapper.deleteByMap(map);
JSONObject object = new JSONObject();
object.put("res",res);
return object.toJSONString();
}
/**
* 根据条件,删除记录
* @param QueryWrapper 对象
* @return 删除成功记录数
*/
@ResponseBody
@RequestMapping("/delete")
public String delete(){
QueryWrapper 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();
}
/**
* 根据给出 ID 删除对应记录
* @param Collection 对象
* @return 删除成功记录数
*/
@ResponseBody
@RequestMapping("/deleteBatchIds")
public String deleteBatchIds(){
List 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();
}
/**
* 根据给出 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();
}
/**
* 根据给出 ID 更新实体类内容,除 ID 外的其他内容
* @param 实体对象
* @return 更新成功记录数
*/
@ResponseBody
@RequestMapping("/update")
public String update(){
User user = new User();
user.setId("11");
user.setName("双十一");
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("name","一号");
int res = userMapper.update(user,wrapper);
JSONObject object = new JSONObject();
object.put("res",res);
return object.toJSONString();
}
/**
* 根据 ID 查询
* @return
*/
@ResponseBody
@RequestMapping("/selectById")
public String selectById(){
User user = userMapper.selectById("1");
JSONObject object = new JSONObject();
object.put("userList",user);
return object.toJSONString();
}
/**
* 根据多个 ID 查询
* @return
*/
@ResponseBody
@RequestMapping("/selectBatchIds")
public String selectBatchIds(){
ArrayList ids = new ArrayList();
ids.add("1");
ids.add("2");
List userList = userMapper.selectBatchIds(ids);
JSONObject object = new JSONObject();
object.put("userList",userList);
return object.toJSONString();
}
/**
* 根据 map 中条件查询
* @return
*/
@ResponseBody
@RequestMapping("/selectByMap")
public String selectByMap(){
Map map = new HashMap();
map.put("name","一号");
List userList = userMapper.selectByMap(map);
JSONObject object = new JSONObject();
object.put("userList",userList);
return object.toJSONString();
}
/**
* 根据 entity 条件查询
* @return
*/
@ResponseBody
@RequestMapping("/selectOne")
public String selectOne(){
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("name","一号");
User user = userMapper.selectOne(wrapper);
JSONObject object = new JSONObject();
object.put("user",user);
return object.toJSONString();
}
/**
* 根据 queryWrapper 实体对象查询满足条件记录数
* @return 符合条件记录数
*/
@ResponseBody
@RequestMapping("/selectCount")
public String selectCount(){
QueryWrapper 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();
}
/**
* 列表查询
* @return
*/
@ResponseBody
@RequestMapping("/selectList")
public String selectList(){
List userList = userMapper.selectList(null);
JSONObject object = new JSONObject();
object.put("userList",userList);
return object.toJSONString();
}
/**
* 根据 queryWrapper 实体对象查询满足条件记录数
* @param 实体对象封装操作类(可以为 null)
* @return List
/**
* 根据 queryWrapper 实体对象查询满足条件记录
* @param 实体对象封装操作类(可以为 null)
* @return 只返回第一个字段的值
*/
@ResponseBody
@RequestMapping("/selectObjs")
public String selectObjs(){
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("name","一号").or().eq("id","2");
List
/**
* 根据 queryWrapper 实体对象查询满足条件记录并分页
* @param 实体对象封装操作类(可以为 null)
* @return 实体分页对象
*/
@ResponseBody
@RequestMapping("/selectPage")
public String selectPage(){
Page page = new Page(1,10);
QueryWrapper wrapper = new QueryWrapper();
IPage iPage = userMapper.selectPage(page,wrapper);
JSONObject object = new JSONObject();
object.put("pageList",iPage);
return object.toJSONString();
}
/**
* 根据 queryWrapper 实体对象查询满足条件记录并翻页
* @param 实体对象封装操作类(可以为 null)
* @return Map分页对象
*/
@ResponseBody
@RequestMapping("/selectMapsPage")
public String selectMapsPage(){
IPage> iPage = userMapper.selectMapsPage(new Page(1,10),
new QueryWrapper());
JSONObject object = new JSONObject();
object.put("pageList",iPage);
return object.toJSONString();
}