// select single final LambdaQueryWrapper<XXXDO> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(XXXDO::getName, name) .eq(XXXDO::getTenant, tenant); final XXXDO xxxDO = xxxMapper.selectOne(queryWrapper);
// select list final LambdaQueryWrapper<XXXDO> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(XXXDO::getTag, tag) .eq(XXXDO::getTenant, tenant); final List<XXXDO> xxxDOList = xxxMapper.selectList(queryWrapper);
update:
1 2 3 4 5 6 7 8 9
// update by condition final LambdaUpdateWrapper<XXXDO> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(XXXDO::getTags, ConvertUtil.commaJoin(tags)) .eq(XXXDO::getName, name) .eq(XXXDO::getTenant, tenant); return xxxMapper.update(null, updateWrapper);
@Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ final MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // 新增分页拦截器, 并设置数据库类型为 mysql interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// 表名动态计算 final DynamicTableNameInnerInterceptor tableNameInterceptor = new DynamicTableNameInnerInterceptor(); tableNameInterceptor.setTableNameHandler(new PublishEnvTableNameHandler()); interceptor.addInnerInterceptor(tableNameInterceptor); return interceptor; }
/** * @return e.g. tags LIKE '%tag1% OR %tag2%' */ privatestatic String buildTagsPredicateSql(Set<String> tags){ if (CollectionUtils.isEmpty(tags)) { return EMPTY_STRING; } return tags.stream().map(tag -> "tags LIKE '%" + tag + "%'") .collect(Collectors.joining(" OR ")); }