mybatis-plus多表關(guān)聯(lián)查詢功能的實現(xiàn)
學(xué)習(xí)目標(biāo):
mybatis-plus多表關(guān)聯(lián)查詢
學(xué)習(xí)內(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ù)去查詢。
修改為多表查詢此處應(yīng)封裝一個對象可能維護方便一些,測試寫了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)查詢
學(xué)習(xí)產(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Spring中@NotEmpty、@NotBlank、@NotNull區(qū)別
本文主要介紹了淺談Spring中@NotEmpty、@NotBlank、@NotNull區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02SpringBoot定時監(jiān)聽RocketMQ的NameServer問題及解決方案
這篇文章主要介紹了SpringBoot定時監(jiān)聽RocketMQ的NameServer問題及解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12@Transactional遇到try catch失效的問題
這篇文章主要介紹了@Transactional遇到try catch失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01java中JDBC實現(xiàn)往MySQL插入百萬級數(shù)據(jù)的實例代碼
這篇文章主要介紹了java中JDBC實現(xiàn)往MySQL插入百萬級數(shù)據(jù)的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01