mybatis-plus icon indicating copy to clipboard operation
mybatis-plus copied to clipboard

有没有办法可以通过一定的条件控制某些大字段在查询时不被筛选出来

Open zfpromise opened this issue 1 year ago • 3 comments

当前使用版本(必填,否则不予处理)

当前版本:3.5.3.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

表中有个较大字段需要在特定添加下才参与业务逻辑处理,请问有没有办法可以通过一定的条件控制这些大字段在查询时不被筛选出来? 类似@TableField 中的 select()

重现步骤(如果有就写完整)

报错信息

zfpromise avatar Jan 04 '24 07:01 zfpromise

wrapper 不可以吗?

rowstop avatar Jan 05 '24 05:01 rowstop

@zfpromise 如果不考虑自定义sql的话,可以重写AbstractMethod.convertChooseEwSelect/sqlSelectColumns/sqlSelectObjsColumns等,可以对大多数mapper中自带的方法生效。但需要重写所有method或使用eclipse-aspectj等。

chess3cake avatar Jan 09 '24 03:01 chess3cake

@zfpromise 如果不考虑自定义sql的话,可以重写AbstractMethod.convertChooseEwSelect(),可以对大多数mapper中自带的方法生效。但需要重写所有method或使用eclipse-aspectj等。

@nieqiurong 有机会对AbstractMethod的创建提供类似于Spring-Data的Repository的那种基于method-segment的合成能力吗,这样可以在runtime期间对AbstractMethod进行增强。其实就是将AbstractMethod的实例转换成一个proxy,然后在proxy里做实际调用方法的管理。

chess3cake avatar Jan 09 '24 03:01 chess3cake