mybatis-plus多表關(guān)聯(lián)查詢功能的實(shí)現(xiàn)
學(xué)習(xí)目標(biāo):
mybatis-plus多表關(guān)聯(lián)查詢
學(xué)習(xí)內(nèi)容:
mybatis-plus多表關(guān)聯(lián)查詢
實(shí)體類部分代碼
@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; /** * 手機(jī)號(hào)碼 */ @ApiModelProperty(value = "手機(jī)號(hào)碼", position = 2) private String phone; /** * 密碼 */ @ApiModelProperty(value = "密碼", position = 3) private String password;
測(cè)試接口
/** * 測(cè)試接口 * @return */ @ApiOperation("測(cè)試") @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ù)庫(kù)
查詢結(jié)果為:
重點(diǎn)部分
單表查詢結(jié)果正常,參數(shù)傳遞正常,我們可以嘗試通過(guò)多表關(guān)聯(lián)傳遞參數(shù)去查詢。
修改為多表查詢此處應(yīng)封裝一個(gè)對(duì)象可能維護(hù)方便一些,測(cè)試寫了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);
測(cè)試結(jié)果和mybatis寫的xml運(yùn)行結(jié)果一致,所以這種方法也是可以實(shí)現(xiàn)mybatis-plus多表關(guān)聯(lián)查詢
學(xué)習(xí)產(chǎn)出:
通過(guò)mapper中書寫sql得出多表關(guān)聯(lián)查詢。
到此這篇關(guān)于mybatis-plus多表關(guān)聯(lián)查詢的文章就介紹到這了,更多相關(guān)mybatis-plus多表關(guān)聯(lián)查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mybatis-Plus或PageHelper多表分頁(yè)查詢總條數(shù)不對(duì)問(wèn)題的解決方法
- MyBatis-Plus多表聯(lián)查的實(shí)現(xiàn)方法(動(dòng)態(tài)查詢和靜態(tài)查詢)
- springboot整合mybatis-plus實(shí)現(xiàn)多表分頁(yè)查詢的示例代碼
- springboot + mybatis-plus實(shí)現(xiàn)多表聯(lián)合查詢功能(注解方式)
- MyBatis-Plus多表聯(lián)合查詢并且分頁(yè)(3表聯(lián)合)
- 結(jié)合mybatis-plus實(shí)現(xiàn)簡(jiǎn)單不需要寫sql的多表查詢
- mybatis-plus多表查詢操作方法
相關(guān)文章
淺談Spring中@NotEmpty、@NotBlank、@NotNull區(qū)別
本文主要介紹了淺談Spring中@NotEmpty、@NotBlank、@NotNull區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線上問(wèn)題及處理方案
這篇文章主要介紹了jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線上問(wèn)題及處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09SpringBoot定時(shí)監(jiān)聽(tīng)RocketMQ的NameServer問(wèn)題及解決方案
這篇文章主要介紹了SpringBoot定時(shí)監(jiān)聽(tīng)RocketMQ的NameServer問(wèn)題及解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12Java阻塞隊(duì)列中的BlockingQueue接口詳解
這篇文章主要介紹了Java阻塞隊(duì)列中的BlockingQueue接口詳解,對(duì)于Queue而言,BlockingQueue是主要的線程安全的版本,具有阻塞功能,可以允許添加、刪除元素被阻塞,直到成功為止,BlockingQueue相對(duì)于Queue而言增加了兩個(gè)方法put、take元素,需要的朋友可以參考下2023-09-09@Transactional遇到try catch失效的問(wèn)題
這篇文章主要介紹了@Transactional遇到try catch失效的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01java中JDBC實(shí)現(xiàn)往MySQL插入百萬(wàn)級(jí)數(shù)據(jù)的實(shí)例代碼
這篇文章主要介紹了java中JDBC實(shí)現(xiàn)往MySQL插入百萬(wàn)級(jí)數(shù)據(jù)的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01