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)文章希望大家以后多多支持腳本之家!
- 關(guān)于QueryWrapper,實(shí)現(xiàn)MybatisPlus多表關(guān)聯(lián)查詢方式
- Mybatis多表關(guān)聯(lián)查詢的實(shí)現(xiàn)(DEMO)
- Mybatis 一對(duì)多和多對(duì)一關(guān)聯(lián)查詢問(wèn)題
- mybatis如何使用注解實(shí)現(xiàn)一對(duì)多關(guān)聯(lián)查詢
- MyBatis實(shí)踐之動(dòng)態(tài)SQL及關(guān)聯(lián)查詢
- MyBatis 三表外關(guān)聯(lián)查詢的實(shí)現(xiàn)(用戶、角色、權(quán)限)
- Mybatis關(guān)聯(lián)查詢之一對(duì)多和多對(duì)一XML配置詳解
- Mybatis實(shí)現(xiàn)一對(duì)一、一對(duì)多關(guān)聯(lián)查詢的方法(示例詳解)
- Mybatis-Plus多表關(guān)聯(lián)查詢的使用案例解析
- MyBatis的關(guān)聯(lián)查詢實(shí)現(xiàn)(一對(duì)一、一對(duì)多、多對(duì)多)
相關(guān)文章
java連接mongoDB并進(jìn)行增刪改查操作實(shí)例詳解
這篇文章主要介紹了java連接mongoDB并進(jìn)行增刪改查操作,結(jié)合實(shí)例形式詳細(xì)分析了java環(huán)境下MongoDB擴(kuò)展包的下載、安裝及操作MongoDB連接、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
淺談JDK8中的Duration Period和ChronoUnit
在JDK8中,引入了三個(gè)非常有用的時(shí)間相關(guān)的API:Duration,Period和ChronoUnit。他們都是用來(lái)對(duì)時(shí)間進(jìn)行統(tǒng)計(jì)的,本文將會(huì)詳細(xì)講解一下這三個(gè)API的使用2021-06-06
Java中使用正則表達(dá)式的一個(gè)簡(jiǎn)單例子及常用正則分享
這篇文章主要介紹了Java中使用正則表達(dá)式的一個(gè)簡(jiǎn)單例子及常用正則分享,本文用一個(gè)驗(yàn)證Email的例子講解JAVA中如何使用正則,并羅列了一些常用的正則表達(dá)式,需要的朋友可以參考下2015-06-06
使用Spring Data MongoDB進(jìn)行地理位置相關(guān)查詢的步驟和示例
SpringData MongoDB是SpringData技術(shù)封裝了mongodb-driver技術(shù)之后的產(chǎn)物,它可以用更加簡(jiǎn)單的方式操作MongoDB,本文給大家介紹了如何使用Spring Data MongoDB進(jìn)行地理位置相關(guān)查詢的步驟和示例,需要的朋友可以參考下2025-05-05
Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實(shí)URL的示例代碼
本篇文章主要介紹了Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實(shí)URL的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Intellij Idea中批量導(dǎo)入第三方j(luò)ar包的全過(guò)程
引入jar包一般都是針對(duì)小的java項(xiàng)目,這篇文章主要給大家介紹了關(guān)于Intellij Idea中批量導(dǎo)入第三方j(luò)ar包的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
實(shí)戰(zhàn)分布式醫(yī)療掛號(hào)系統(tǒng)之整合Swagger2到通用模塊
這篇文章主要為大家介紹了實(shí)戰(zhàn)分布式醫(yī)療掛號(hào)系統(tǒng)之整合Swagger2到通用模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04

