學習目標:
mybatis-plus多表關(guān)聯(lián)查詢。
學習內(nèi)容:
mybatis-plus多表關(guān)聯(lián)查詢
實體類部分代碼
@Data @AllArgsConstructor @NoArgsConstructor @TableName("wb_member") public class WbMember implements Serializable { private static final long serialVersionUID=1L; /** * 用戶ID */ @ApiModelProperty(value = "用戶ID", position = 0) @TableId(value = "id", type = IdType.ASSIGN_ID) @JsonFormat(shape = JsonFormat.Shape.STRING) private Long id; /** * 昵稱 */ @ApiModelProperty(value = "昵稱", position = 1) private String nickName; /** * 手機號碼 */ @ApiModelProperty(value = "手機號碼", position = 2) private String phone; /** * 密碼 */ @ApiModelProperty(value = "密碼", position = 3) private String password;
測試接口
/** * 測試接口 * @return */ @ApiOperation("測試") @PostMapping("/list/testMember") public AjaxResult testMember(){ long id = 1339284736172032l; return AjaxResult.success(iWbMemberService.queryTest(id)); }
mapper繼承BaseMapper接口
public interface WbMemberMapper extends BaseMapper<WbMember> { @Select({ "select", "* ", "from wb_member", "where id = #{id,jdbcType=INTEGER}" }) @Results({ @Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true), @Result(column="nick_name", property="nickName", jdbcType=JdbcType.VARCHAR), @Result(column="phone", property="phone", jdbcType=JdbcType.VARCHAR), @Result(column="sex", property="sex", jdbcType=JdbcType.INTEGER), @Result(column="birthday", property="birthday", jdbcType=JdbcType.VARCHAR) }) List<WbMember> queryTest(long id); }
不需要寫xml文件,sql寫在mapper接口注解中,可以使用mybatis-plus生成器數(shù)據(jù)庫
查詢結(jié)果為:
重點部分
單表查詢結(jié)果正常,參數(shù)傳遞正常,我們可以嘗試通過多表關(guān)聯(lián)傳遞參數(shù)去查詢。
修改為多表查詢此處應封裝一個對象可能維護方便一些,測試寫了map
@Select({ "select", "u.user_id,u.user_name,u.nick_name ", "from sys_user u,sys_user_role r,sys_role o", "where u.user_id = r.user_id AND r.role_id = o.role_id", "AND u.user_id = #{id,jdbcType=INTEGER}" }) @Results({ @Result(column="user_id", property="userId", jdbcType=JdbcType.INTEGER, id=true), @Result(column="user_name", property="userName", jdbcType=JdbcType.VARCHAR), @Result(column="nick_name", property="nickName", jdbcType=JdbcType.VARCHAR), }) List<Map> queryTest(long id);
測試結(jié)果和mybatis寫的xml運行結(jié)果一致,所以這種方法也是可以實現(xiàn)mybatis-plus多表關(guān)聯(lián)查詢
學習產(chǎn)出:
通過mapper中書寫sql得出多表關(guān)聯(lián)查詢。
到此這篇關(guān)于mybatis-plus多表關(guān)聯(lián)查詢的文章就介紹到這了,更多相關(guān)mybatis-plus多表關(guān)聯(lián)查詢內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_27933251/article/details/121094980