# 2.0 chain 使用方式
// 原模型 增加 @JoinChainModel 注解
// 生成规则是 原模型名称后+ Chain 比如说 原模型名字叫 Users 生成的类就叫做 UsersChain
UsersChain usersChain = UsersChain.create();
UsersAgeChain ageChain = UsersAgeChain.create();
// 注意字段定义 _Field 开头的代表是单个字段,一般用在单个类型定义的时候
// 例如:.eq(usersChain._ageId(),1)
Joins.chain(usersChain)
// 查询user表全部字段
.selectAll(usersChain)
.leftJoin(ageChain._id(), usersChain._ageId())
// joinand 第一个参数为需要进行 joinAnd的 子表Chain 模型
.joinAnd(ageChain, (w) -> w.eq(ageChain._id(1)))
.joinList(UsersVo.class);
// 生成SQL
SELECT
users.user_name,
users.create_time,
users.age_id,
users.content_json,
users.user_id
FROM
users AS users
LEFT JOIN users_age AS users_age ON users_age.id = users.age_id
AND ( users_age.id = 1 )
# lambda使用方式
# selectAll() 查询全部
selectAll()方法,查询出当前表所有的字段
JoinLambdaWrapper<Users> wrapper = new JoinLambdaWrapper<>(Users.class);
wrapper.leftJoin(UsersAge.class,UsersAge::getId,Users::getAgeId)
.eq(UserAge::getAgeName,"95")
.selectAll().end();
// 执行查询
usersService.joinList(wrapper,UsersVo.class);
// 执行SQL
select
users.user_id,
users.user_name,
users_age.age_name,
users_age.age_doc,
users_age.id
from users users
left join users_age users_age on users_age.id = users.age_id
where (
users_age.age_name = '95'
)