mybatis-plus的service层业务逻辑和Wrapper 条件构造器

1.service层业务逻辑处理

IService使用
service层需要继承IService,当然实现层也要继承对应的实现类。

public interface UserService extends IService<User> {

}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
}

getOne(),这个是方法返回结果不止一条则会抛出异常,如果想默认取第一条结果,可以给这方法传第二个参数为false。

  @Test
    public void getOne() {
        User one = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 31),false);
        System.out.println(one);
    }

saveOrUpdateBatch(),批量新增或者修改方法,判断ID是否存在,如果ID不存在执行新增,如果ID存在先执行查询语句,查询结果为空新增,否则修改。

 @Test
    public void saveOrUpdateBatch() {
        User user1 = new User();
        user1.setName("兔子");
        user1.setAge(18);
 
        User user2 = new User();
        user2.setId(1088250446457389060L);
        user2.setName("乌龟");
        user2.setAge(18);
 
        List<User> users = Arrays.asList(user1, user2);
 
        boolean b = userService.saveOrUpdateBatch(users);
        System.out.println(b);
    }

下面是基于lambda的相关操作

 /**
     * lombda查询
     */
    @Test
    public void lambdaQuery(){
        List<User> list = userService.lambdaQuery().eq(User::getAge, 18).list();
        list.forEach(System.out::println);
    }
 
    /**
     * lombda修改
     */
    @Test
    public void lambdaUpdate(){
        boolean update = userService.lambdaUpdate().eq(User::getAge, 18).set(User::getAge, 31).update();
        System.out.println(update);
    }
 
    /**
     * lombda删除
     */
    @Test
    public void lambdaRemoce(){
        boolean remove = userService.lambdaUpdate().eq(User::getAge, 18).remove();
        System.out.println(remove);
    }

2. Wrapper 条件构造器

参数说明

查询方式	                                          说明
setSqlSelect	                            设置 SELECT 查询字段
where	                                    WHERE 语句,拼接 + WHERE 条件
and											AND语句,拼接 + AND 字段=值
andNew										AND 语句,拼接 + AND (字段=)
or											OR 语句,拼接 + OR 字段=值
orNew										OR 语句,拼接 + OR (字段=)
eq											等于=
allEq										基于 map 内容等于=
ne											不等于<>
gt											大于>
ge											大于等于>=
lt											小于<
le											小于等于<=
like										模糊查询 LIKE
notLike										模糊查询 NOT LIKE
in											IN 查询
notIn										NOT IN 查询
isNull										NULL 值查询
isNotNull									IS NOT NULL
groupBy										分组 GROUP BY
having										HAVING 关键词
orderBy										排序 ORDER BY
orderAsc									ASC 排序 ORDER BY
orderDesc									DESC 排序 ORDER BY
exists										EXISTS 条件语句
notExists									NOT EXISTS 条件语句
between										BETWEEN 条件语句
notBetween									NOT BETWEEN 条件语句
addFilter									自由拼接 SQL
last										拼接在最后,例如:last("LIMIT 1")
 注意! xxNew 都是另起 ( ... ) 括号包裹。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值