MP学习01

CRDU基础使用案例

  1. 根据主键删除一条记录
int rows = userMapper.deleteById(123);
  1. 根据条件删除记录
// 构造条件
Map<String,Object> map = new HashMap<>();
map.put("name", "wangzz");
map.put("age", 18);
// 执行删除
int rows = userMapper.deleteByMap(map);
  1. 根据主键查询一条数据
User user = userMapper.selectById(123);
  1. 根据ids批量查找数据
    List ids = Arrays.asList(
    123L, 345L, 567L
    );
    List list = userMapper.selectBatchIds(ids);

  2. 根据指定参数查询
    Map<String, Object> map = new HashMap<>();
    // map的key指代的是mysql表中的列名
    map.put("name", "Jone");
    List list = userMapper.selectByMap(map);

  3. 指定查询指定结果的字段
    QueryWrapper queryWrapper = new QueryWrapper<>();
    query.select("name", "age") // 指定查询结果字段
    .in("age", Arrays.asList(30,31,34,35)
    .last("limit 1");

7★ 大小关系查询

QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.list("name", "J") // like是MP的条件构造器 ===> 模糊查询
          .lt("age", 40)
          .select("name", "age");
List<Map<String,Object>> maps = userMapper.selectMaps(queryWrapper);
  1. 通过主键id修改数据
User user = new User();
user.setId(123);
user.setAge(18);
user.setEmail("wz_bepro@163.com");

int rows = userMapper.updateById(user);

=========================================
等价的SQL语句
UPDATE user
SET age = ?, email = ?
WHERE id = ?
  1. 根据updateWrapper自定义条件修改数据
    UpdateWrapper updateWrapper = new UpdateWrapper<>();
    updateWrapper.eq("name", "Jack")
    .eq("age", 18);
    User user = new User();
    user.setAge(29);
    user.setEmail("wz_bepro@163.com");
    int rows = userMapper.update(user, updateWrapper);
    ===========================================
    等价的SQL语句
    UPDATE user
    SET age = ?, email = ?
    WHERE name = ? AND age = ?
### 条件构造器Wrapper

Wrapper体系结构

  • Wrapper
    • AbstractWrapper
      • AbstractLambdaWrapper
        - LambdQueryWrapper
        - LambdUpdateWrapper
      • QueryWrapper
      • UpdateWrapper
        条件构造器用于给如下的Mapper方法传入参数,通常情况如下:
  • updateWrapper用于给update方法传入条件参数
  • queryWrapper用于给delete和select方法传入参数

int delete(Wrapper<T> wrapper);
int update(T entity, Wrapper<T> updateWrapper);
T selectOne(queryWrapper);
Integer selectCount(queryWrapper);
List<T> selectList(queryWrapper);
List<Map<String, Object>> selectMaps(queryWrapper);


#### LIKE条件构造

String name = "test01"; // name不为空
String email = ""; // email为空字符串
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(name), "name", name);
.like(StringUtils.isNotEmpty(email), "email", email);
List res = userMapper.selectList(queryWrapper);

https://img.kancloud.cn/0f/8f/0f8fe8849a8181a0b1551342459df560_1314x1380.png
                   

posted @ 2021-12-01 09:31  Felix_Openmind  阅读(76)  评论(0)    收藏  举报
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}