mirror of
https://gitee.com/best_handsome/mybatis-plus-join
synced 2025-07-25 00:00:12 +08:00
1.0.9
This commit is contained in:
parent
81cea3a5b2
commit
c124ac63c9
@ -25,6 +25,10 @@ public class AliasQueryWrapper<T> extends QueryWrapper<T> {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected String columnToString(String column) {
|
protected String columnToString(String column) {
|
||||||
return StringUtils.isBlank(alias) ? column : (alias + StringPool.DOT + column);
|
if (column.lastIndexOf(StringPool.DOT) < 0) {
|
||||||
|
return StringUtils.isBlank(alias) ? column : (alias + StringPool.DOT + column);
|
||||||
|
} else {
|
||||||
|
return column;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,4 +79,46 @@ QueryWrapper.eq("u.id", 1);
|
|||||||
|
|
||||||
AliasQueryWrapper别名一次设置全局通用,不需要每个字段都加别名
|
AliasQueryWrapper别名一次设置全局通用,不需要每个字段都加别名
|
||||||
|
|
||||||
|
说明:
|
||||||
|
对于非主表字段查询也是支持的
|
||||||
|
|
||||||
|
```java
|
||||||
|
class MpJoinTest {
|
||||||
|
@Resource
|
||||||
|
private UserMapper userMapper;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test() {
|
||||||
|
UserDTO userDTO = userMapper.userLeftJoin(new AliasQueryWrapper<>()
|
||||||
|
.setAlias("u")
|
||||||
|
.eq("id", "1")
|
||||||
|
.like("sex", "3")
|
||||||
|
.eq("ua.tel", "10086") //如果查询字段中有点(.)则不会添加别名
|
||||||
|
.like("ua.address", "北京"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
对应sql:
|
||||||
|
```
|
||||||
|
select
|
||||||
|
u.*,
|
||||||
|
ua.tel
|
||||||
|
from user u
|
||||||
|
left join user_address ua on u.id = ua.user_id
|
||||||
|
WHERE (
|
||||||
|
u.id = ?
|
||||||
|
AND u.sex LIKE ?
|
||||||
|
AND ua.tel = ?
|
||||||
|
AND ua.address LIKE ?)
|
||||||
|
```
|
||||||
|
|
||||||
|
注意:如果你喜欢骚操作,请使用原生QueryWrapper
|
||||||
|
举例:
|
||||||
|
* .eq("(select sex from user where id = u.id)", "男")
|
||||||
|
* .eq("count(u.id)", 1)
|
||||||
|
|
||||||
|
不建议在QueryWrapper中使用sql或函数
|
||||||
|
除非你不考虑后续的维护和sql调优
|
||||||
|
|
||||||
|
|
||||||
QQ群:1022221898
|
QQ群:1022221898
|
Loading…
x
Reference in New Issue
Block a user