做了一个简单的mybatis-plus的CURD然后想记录一下
首先呢我们处理一下标题的问题就是like和or
需求
这是在我们正在开发的项目中的一个很小的部分,我们个人账户的维护,其实也就是对于个人账户的增删改查,然后就遇到了一个稍微有点恶心的问题,就是我这边需要做一个查询的操作,页面上面展示的三个字段,账户名称,开户行,银行账号,客户在搜索框内搜索关键字可能是这三个其中之一,所以这个就牵扯到我们该如何实现like和or
查询
@Override
public IPage<List<ReimUserAccount>> selectAllSysUserAccount(String username, Page page,String keyValue) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_login",username);
queryWrapper.eq("del_flag","1");
queryWrapper.and(StringUtils.isNotBlank(keyValue),t ->t.like("bank_account",keyValue).or().like("account_name",keyValue).or().like("bank_name",keyValue));
queryWrapper.orderBy(true,true,"created_date");
return page(page,queryWrapper);
}
但是这样时候会报错
然后就是想到加上dto,然后
然后提示应该使用entity,然后才好用了的
新增
@Override
public void saveOrUpdate(ReimUserAccountDTO reimUserAccountDTO){
ReimUserAccount reimUserAccount = ConvertUtils.sourceToTarget(reimUserAccountDTO, ReimUserAccount.class);
String belongCompanyId = "19";
reimUserAccount.setOrgId(belongCompanyId);
if(StringUtil.isBlank(reimUserAccount.getCreatedBy())){
reimUserAccount.setCreatedDate(Calendar.getInstance().getTime());
reimUserAccount.setCreatedBy(reimUserAccountDTO.getUserLogin());
}
reimUserAccount.setLastModifiedDate(Calendar.getInstance().getTime());
reimUserAccount.setLastModifiedBy(reimUserAccountDTO.getUserLogin());
reimUserAccount.setDelFlag("1");
saveOrUpdate(reimUserAccount);
}
这是saveOrUpdate的方法
修改
其实和添加是一个方法
删除
我们这里使用的是逻辑删除
@Override
public Result deleteByUsersId(String id) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("id",id);
ReimUserAccount reimUserAccount = sysUserAccountMapper.selectOne(queryWrapper);
reimUserAccount.setDelFlag("0");
boolean b = saveOrUpdate(reimUserAccount);
return null;
}