MyBatis多對一查詢的使用

2022-05-07 21:48:11 字數 2613 閱讀 5374

一.丟擲問題

什麼是多對一:  

如何在查詢訂單的時候帶出使用者表中的使用者名稱?

二.解決方式

1.單查詢屬性對映:

public

class

order

<

select

id="getbyid"

resulttype

="order"

>

select o.*,u.account useraccount from mall_order o,mall_user u where o.id=# and o.userid=u.id

select

>

2.單查詢型別對映:

public

class

order

在查詢時,查詢兩張表資訊,使用resultmap,對映對應屬性

<

select

id="getbyid"

resultmap

="orderresultmap"

>

select o.*,u.account from mall_order o,mall_user u where o.id=# and

o.userid=u.id

select

>

<

resultmap

id="orderresultmap"

type

="order"

>

<

id column

="id"

property

="id"

/>

<

result

column

="userid"

property

="userid"

/>

<

result

column

="orderno"

property

="orderno"

/>

<

result

column

="orderdate"

property

="orderdate"

/>

<

result

column

="consignee"

property

="consignee"

/>

<

result

column

="phonenum"

property

="phonenum"

/>

<

result

column

="account"

property

="user.account"

/>

resultmap

>

3.巢狀查詢(查訂單《多的一方》中巢狀使用者資訊查詢) 關聯對映

<

select

id="getbyid"

resulttype

="user"

>

select * from mall_user where id=#

select

>

public

class

order

<

select

id="getorders"

resultmap

="orderresultmap"

>

select * from mall_order;

select

>

<

resultmap

id="orderresultmap"

type

="order"

>

<

id column

="id"

property

="id"

/>

<

result

column

="userid"

property

="userid"

/>

<

result

column

="orderno"

property

="orderno"

/>

<

association

property

="user"

column

="userid"

fetchtype

="lazy"

select

="com.woniu.mall.dao.userdao.getbyid"

/>

resultmap

>

mybais 多對一查詢

準備階段 多個學生對應乙個老師 1.建表 2.編寫實體類 package com.lv.pojo import lombok.data data public class student package com.lv.pojo import lombok.data data public class...

Mybatis的多表(一對一)查詢

mybatis的多表 一對一 查詢 示例 使用者和賬戶 乙個使用者可以有多個賬戶 一對多 乙個賬戶只能屬於乙個使用者 一對一 解決辦法 建立兩張表 使用者表,賬戶表 讓使用者表和賬戶表之間具備一對多的關係 需要使用外來鍵在賬戶中新增。建立兩個實體類 使用者實體類和賬戶實體類 讓使用者的實體類和賬戶的...

使用mybatis的一對多查詢

在寫 的時候經常有這種需求,乙個訂單對應多個商品,需要對訂單以及商品進行分頁模糊搜尋,在首頁展示多個滿足要求的訂單,並且同時展示出訂單中的商品資訊,此時需要返回乙個list,並且list中物件是一對多的關係,就是對1對多種的多進行分頁.這個時候的思路.我們以一為主表,多為副表進行分析 1.實現 使用...