mybatisplus的querywrapper做左联接,内联接
在service层生成使用mybatisplus的querywapper的java代码
select bs_user.id, bs_user.mobile, bs_user.username, bs_user.password, bs_user.enable_state, ss_user_social_security.user_id, ss_user_social_security.enterprises_pay_social_security_this_month, ss_user_social_security.enterprises_pay_the_provident_fund_this_month, ss_user_social_security.participating_in_the_city_id, ss_user_social_security.social_security_type, ss_user_social_security.household_registration_type, ss_user_social_security.social_security_base, ss_user_social_security.industrial_injury_ratio from bs_user left join ss_user_social_security on bs_user.id = ss_user_social_security.user_id inner join ss_company_settings on bs_user.company_id = ss_company_settings.company_id where ss_company_settings.company_id = 1 前面是表结构和vo对象
你可以参考下面的代码来执行这个查询
- 使用 mybatis-plus 的 querywrapper 可以简化 sql 的构建,并且可以避免写关键字拼写错误的问题
- 假设你已经有了对应的 vo 类,其中包含上述查询结果中的所有属性和它们的 getter/setter 方法
可以参考下面的代码:
// 创建一个 querywrapper 对象 querywrapper<uservo> querywrapper = new querywrapper<>(); // 设置要查询的字段 querywrapper.select("bs_user.id", "bs_user.mobile", "bs_user.username", "bs_user.password", "bs_user.enable_state", "ss_user_social_security.user_id", "ss_user_social_security.enterprises_pay_social_security_this_month", "ss_user_social_security.enterprises_pay_the_provident_fund_this_month", "ss_user_social_security.participating_in_the_city_id", "ss_user_social_security.social_security_type", "ss_user_social_security.household_registration_type", "ss_user_social_security.social_security_base", "ss_user_social_security.industrial_injury_ratio"); // 添加关联表 querywrapper.leftjoin("ss_user_social_security", "bs_user.id = ss_user_social_security.user_id"); querywrapper.innerjoin("ss_company_settings", "bs_user.company_id = ss_company_settings.company_id"); // 添加查询条件 querywrapper.eq("ss_company_settings.company_id", 1); // 调用 service 层的方法执行查询 list<uservo> userlist = userservice.list(querywrapper);
- 这段代码中,我们使用了 querywrapper 对象来构建 sql 语句。
- 通过调用 select 和 join 等方法,我们可以设置要查询的字段和添加关联表。
- 最后,使用 eq 和其他方法来设置查询条件。
- 最后,调用 list 方法执行查询,并将结果存储在一个 list 对象中返回。
- 注意要根据具体需要来替换上述代码中的 vo 类和 service 调用方法。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论