qq_天意_20
2019-09-14 09:14
老师,我看你进入源码,我只看到了WRAPPER这个常量的值是ew字符串,可是你在@select语句中写的是ew.customSqlSegment,为啥会多出.customSqlSegment?
ew字符串所标识的参数的类型是Wrapper类,根据这个标识ew可以在xml中或者注解中取得Wrapper类型对象的相关方法或属性的值,而ew.customSqlSegment,其实是调用Wrapper抽象类的getCustomSqlSegment() 方法。该方法就是根据条件构造器组装出的相关查询条件。
老师,我还没看源码,我现在只是把基础和进阶看了一遍,我是不是这样理解,不直接在@select写ew取值而是写ew.customSqlSegment是为了调用customSqlSegment这个函数对ew对应传入的实参进行字符串处理,会对我在@select中的语句进行判断,然后决定是否拼接where,还是where 后的and,是这个意思把,是方便使用者的把。
MyBatis-Plus进阶
23296 学习 · 118 问题
相似问题