首页 > 其他分享 >mybatis plus 中增删改查及Wrapper的使用

mybatis plus 中增删改查及Wrapper的使用

时间:2023-02-21 11:33:04浏览次数:42  
标签:Wrappers name 改查 Wrapper plus user userService eq User

本文为博主原创,未经允许不得转载:

  mybatis plus 通过封装  baseMapper 以及 ServiceImpl ,实现对数据库的增删改查操作,baseMapper 是我们通常所说的 dao 层或 mapper 层,

ServiceImpl  是我们通常所说的 业务层,其内部标注了事务回滚,以及它内部的实现很多也是通过 baseMapper 进行实现的。

IService 依赖于 Spring 容器,而 BaseMapper 不依赖我们在应用的时候

根据自己的便捷性,选择合适的方法即可。 前面的博客中已经搭建了 spring boot + mybaits plus 的框架,其中定义了 UserMapper 和 UserServiceImpl ,

代码及博客的链接如下:

搭建 spring boot + mybatis plus 项目框架并进行调试

 1. 查询:

    封装查询参数的Wrapper 有两种方式,效果是等同的;

   QueryWrapper<User> wrapper = new QueryWrapper<>();  与  Wrappers.<User>query().lambda() 是相同的

@Slf4j
@SpringBootTest
class DemoApplicationTests {

@Autowired
private UserMapper userMapper;

@Autowired
private UserService userService;

@Test
void query() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "2");
// 1.根据QueryWrapper 进行条件查询
User user = userMapper.selectOne(wrapper);
// 2.使用 Wrappers 的lamda表达式进行查询
userService.list(Wrappers.<User>query().lambda().eq(User::getName,"test"));

Map<String,Object> paramsMap = new HashMap<>();
paramsMap.put("name","test");
// 3.使用map封装查询参数,查询列表
List<User> users= (List<User>) userService.listByMap(paramsMap);

// 4.查询总数
int count = userService.count();
// 5.根据条件查询总数
int count2 = userService.count(Wrappers.<User>query().lambda().eq(User::getName,"test"));
}

}

  2。修改

@Test
void update() {
User user = new User();
user.setAge(23);
user.setEmail("344");
user.setName("test333");
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id","1");
// 1.user 中封装修改的属性值, updateWrapper 中封装修改的条件参数值
userService.update(user,updateWrapper);

// 2.根据条件修改对应的参数属性值
userService.update(Wrappers.<User>update().lambda().set(User::getName, "2").eq(User::getAge, 23));
// 3.判断参数是否为空,并进行修改
     String name = "name";
     userService.update(Wrappers.<User>update().lambda().set(StringUtils.isNotBlank(name),User::getName, name).eq(User::getAge, 23));
}

  3.新增

@Test
void save() {
User user = new User();
user.setAge(23);
user.setEmail("344");
user.setName("test");
// 1.使用service新增
userService.save(user);
// 2.使用mapper 新增
userMapper.insert(user);
}

4.删除

@Test
void delete() {
// 根据条件删除
userService.remove(Wrappers.<User>query().lambda().eq(User::getAge, 3));
}

 5.mybatis plus 封装的函数列表:

mybatis plus 中增删改查及Wrapper的使用_mybatis plus

 



标签:Wrappers,name,改查,Wrapper,plus,user,userService,eq,User
From: https://blog.51cto.com/u_15535797/6076394

相关文章