Closed mouzt closed 2 years ago
使用 xml 写 sql,可以查询逻辑删除的数据,但是使用不了 mybatis plus 的分页插件了。
XML方式可以使用分页插件啊,我们的项目一直在用。 文档说明:XML 自定义分页
使用 xml 写 sql,可以查询逻辑删除的数据,但是使用不了 mybatis plus 的分页插件了。
XML方式可以使用分页插件啊,我们的项目一直在用。 文档说明:XML 自定义分页
666,谢谢
当前使用版本(必填,否则不予处理) 3.4.2
问题:
使用 Wrapper 可以使用分页插件但是实现不了查询逻辑删除的数据。 使用 xml 写 sql,可以查询逻辑删除的数据,但是使用不了 mybatis plus 的分页插件了。 目前很矛盾呀~有啥好的解决方案吗??
都可以使用 自定义sql 查询被删除的记录可以使用分页和条件构造Wrapper
/**
* 逻辑删除的记录也会查询
*
* @param wrapper
* @return
*/
@Select("select ${ew.sqlSelect} from user ${ew.customSqlSegment}")
User selectOneWithDelete(@Param(Constants.WRAPPER) Wrapper wrapper);
@Select("select ${ew.sqlSelect} from user ${ew.customSqlSegment}")
Page selectPageWithDeleted(Page page, @Param(Constants.WRAPPER) Wrapper wrapper);
// 调用
Page page = new Page(1, 20);
userMapper.selectPageWithDeleted(
page,
Wrappers.lambdaQuery(User.class)
.select(
User::getId,
User::getNickname,
User::getPassword,
User::getDisable,
User::getDeleted
)
.eq(User::getMobile, mobile)
);
User user1 = userMapper.selectOneWithDelete(
Wrappers.lambdaQuery(User.class)
.select(
User::getId,
User::getNickname,
User::getPassword,
User::getDisable,
User::getDeleted
)
.eq(User::getMobile, mobile)
);
执行的sql
SELECT COUNT(*) AS total
FROM user
WHERE mobile = '17600000000'
Execute SQL:
SELECT id, nickname, password, is_disable AS disable, is_deleted AS deleted
FROM user
WHERE mobile = '17600000000'
LIMIT 20
Execute SQL:
SELECT id, nickname, password, is_disable AS disable, is_deleted AS deleted
FROM user
WHERE mobile = '17600000000'
@setlx 2023年4月24日,特意来给你点个赞,不知道plus开发团队,什么时候,能够改一下,目前真的是太不方便了
当前使用版本(必填,否则不予处理) 3.4.2
问题:
使用 Wrapper 可以使用分页插件但是实现不了查询逻辑删除的数据。 使用 xml 写 sql,可以查询逻辑删除的数据,但是使用不了 mybatis plus 的分页插件了。 目前很矛盾呀~有啥好的解决方案吗??