Mybatis-Plus学习总结(超详细整理),java线程面试题pdf

//测试乐观锁成功

@Test

public void testOptimisticLocker(){

//1、查询用户信息

User user = userMapper.selectById(1L);

//2、修改用户信息

user.setName(“LZY”);

user.setEmail(“222@qq.com”);

//执行更新操作

userMapper.updateById(user);

}

在这里插入图片描述

模拟乐观锁失败:

//测试乐观锁失败

@Test

public void testOptimisticLocker2(){

//1、查询用户信息

User user = userMapper.selectById(1L);

//2、修改用户信息

user.setName(“LZY1”);

user.setEmail(“111@qq.com”);

//1、模拟另一个线程执行了插队操作

User user2 = userMapper.selectById(1L);

//2、修改用户信息

user2.setName(“LZY2”);

user2.setEmail(“222@qq.com”);

//执行更新操作

userMapper.updateById(user2);

//执行更新操作

userMapper.updateById(user); //如果没有乐观锁就会覆盖插队线程的值

}

在这里插入图片描述

查询操作


根据 ID 查询: T selectById(Serializable id);

根据 entity 条件,查询一条记录: T selectOne(@Param(Constants.WRAPPER) Wrapper queryWrapper);

查询(根据ID 批量查询): List selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);

根据 entity 条件,查询全部记录: List selectList(@Param(Constants.WRAPPER) Wrapper queryWrapper);

查询(根据 columnMap 条件): List selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);

根据 Wrapper 条件,查询全部记录: List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper queryWrapper);

根据 Wrapper 条件,查询全部记录。注意: 只返回第一个字段的值: List selectObjs(@Param(Constants.WRAPPER) Wrapper queryWrapper);

根据 entity 条件,查询全部记录(并翻页): IPage selectPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

根据 Wrapper 条件,查询全部记录(并翻页): IPage<Map<String, Object>> selectMapsPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

根据 Wrapper 条件,查询总记录数: Integer selectCount(@Param(Constants.WRAPPER) Wrapper queryWrapper);

参数类型说明:

  • Serializable: 主键ID

  • Wrapper :实体对象封装操作类(可以为 null)

  • Collection<? extends Serializable>:主键ID列表(不能为 null 以及 empty)

  • Map<String, Object>: 表字段 map 对象

  • IPage:分页查询条件(可以为 RowBounds.DEFAULT)

实例测试:

@Test

public void testSelectById(){

User user =userMapper.selectById(1);

System.out.println(user);

}

//测试批量查询

@Test

public void testSelectByBatchId(){

List users =userMapper.selectBatchIds(Arrays.asList(1,2,3));

users.forEach(System.out::println);

}

//条件查询

public void testSelectByBatchIds(){

HashM

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值