mybatis两个外键(转)

caoyanan_com caoyanan_com 10-21 13:06
等级  Bbs1 5次回复

一个表中的两个外键都关联同一个表,mybatis写法

列如:
table user{员工表
    uid;
    uname;
    uage;
    usalary;
 }
table lend{借款表
    lid;
    luserid;借款人id
    lmoney;
    ldate;
    lwarrant_userid;担保人id


查询一个借款单
(借款单的详细信息、借款人的姓名、借款担保人的姓名)
在mybatis中怎么写映射文件
    

caoyanan_com caoyanan_com 10-21 13:06
等级  Bbs1 1楼

急啊!在线等

Xiaos_hui Xiaos_hui 10-22 01:33
等级  Bbs4 3楼

 

 
  
 1 <typeAlias alias="User" type="xxx.User" />
 2 
 3     <typeAlias alias="Lend" type="xxx.Lend" />
 4 
 5 
 6 
 7     <resultMap id="get-user-result" class="User">
 8 
 9         <result property="uid" column="UID" />
10 
11         <result property="uname" column="UNAME" />
12 
13         <result property="uage" column="UAGE" />
14 
15         <result property="usalary" column="USALARY" />
16 
17     </resultMap>
18 
19     
20 
21     <resultMap id="get-lend-result" class="Lend">
22 
23         <result property="lid" column="LID" />
24 
25         <result property="luserid" column="LUSERID" select="getUserById"/>
26 
27         <result property="lmoney" column="LMONEY" />
28 
29         <result property="lwarrant_userid" column="LWARRANT_USERID" select="getUserById"/>
30 
31     </resultMap>
32 
33 
34 
35     <select id="selectLendById" parameterClass="int"
36 
37         resultMap="get-lend-result">
38 
39             select * from LEND where ID = #id#
40 
41     </select>
42 
43     
44 
45     <select id="getUserById" parameterClass="int"
46 
47         resultMap="get-user-result">
48 
49             select * from USER where ID = #id#
50 
51     </select>

caoyanan_com caoyanan_com 10-22 09:50
等级  Bbs1 4楼

等了好久才有人给个答案,先谢谢啊
我问题已经解决,其实和你写的差不多   

 <resultMap id="get-lend-result" class="Lend">
        <result property="lid" column="LID" />
        <result property="luserid" column="LUSERID" />
        <result property="lmoney" column="LMONEY" />
        <result property="lwarrant_userid" column="LWARRANT_USERID"/>
        <association property="lendPerson"  column="LUSERID" select="selectUserByOid"></association>
<association property="warrantPerson"  column="LWARRANT_USERID" select="selectUserByOid"></association>
    </resultMap>
View Code


在实体类中加两个属性:
private User lendPerson;
private User warrantPerson;

caoyanan_com caoyanan_com 10-22 09:53
等级  Bbs1 5楼

 

引用 3 楼  的回复:
XML code

<typeAlias alias="User" type="xxx.User" />
    <typeAlias alias="Lend" type="xxx.Lend" />

    <resultMap id="get-user-result" class="User">
        <result property="uid" column="UID" />
……


selectLendById这个就能查出吗?
实体类做什么修改?
转自:https://bbs.csdn.net/wap/topics/390252197

猜你喜欢

转载自www.cnblogs.com/william-Run/p/10290430.html