一对多
实体类
1
2
3
4
5
@TableField(exist = false)
private List<McuInfoUser> infoUsers;
xml
这种方式分页有问题,不分页时可以用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<resultMap id="selectInfoUserMap" type="com.hk.mcuInfo.model.McuInfo">
<id column="mcu_id" property="mcuId" />
<result column="mcu_create_time" property="mcuCreateTime" />
<result column="mcu_update_time" property="mcuUpdateTime" />
<result column="mcu_name" property="mcuName" />
<result column="mcu_type" property="mcuType" />
<result column="bin_version" property="binVersion" />
<result column="sta_ip" property="staIp" />
<result column="connect_wifi" property="connectWifi" />
<result column="tcp_server_ip" property="tcpServerIp" />
<result column="tcp_server_port" property="tcpServerPort" />
<result column="ap_name" property="apName" />
<result column="ap_pwd" property="apPwd" />
<result column="my_server_ip" property="myServerIp" />
<result column="my_server_port" property="myServerPort" />
<result column="user_name" property="userName" />
<result column="user_pwd" property="userPwd" />
<result column="mcu_is_line" property="mcuIsLine" />
<result column="mcu_this_time" property="mcuThisTime" />
<collection property="infoUsers" ofType="com.hk.mcuInfoUser.model.McuInfoUser">
<id column="inu_id" property="inuId" />
<result column="inu_info_id" property="inuInfoId" />
<result column="inu_user_uuid" property="inuUserUuid" />
<result column="inu_user_name" property="inuUserName" />
<result column="inu_type" property="inuType" />
</collection>
</resultMap>
<select id="selectInfoUser" resultMap="selectInfoUserMap">
SELECT * FROM mcu_info info
LEFT JOIN mcu_info_user iu on inu_info_id = mcu_id
</select>
多对多
实体类
1
2
3
4
5
@TableField(exist = false)
private List<McuInfoUser> infoUsers;
xml
McuInfoUserMapper.xml
<select id="selectByInfoId" resultMap="BaseResultMap">
select * from mcu_info_user where inu_info_id = #{mcuId}
</select>
McuInfoMapper.xml
<resultMap id="selectInfoUserMap" type="com.hk.mcuInfo.model.McuInfo">
<id column="mcu_id" property="mcuId" />
<result column="mcu_create_time" property="mcuCreateTime" />
<result column="mcu_update_time" property="mcuUpdateTime" />
<result column="mcu_name" property="mcuName" />
<result column="mcu_type" property="mcuType" />
<result column="bin_version" property="binVersion" />
<result column="sta_ip" property="staIp" />
<result column="connect_wifi" property="connectWifi" />
<result column="tcp_server_ip" property="tcpServerIp" />
<result column="tcp_server_port" property="tcpServerPort" />
<result column="ap_name" property="apName" />
<result column="ap_pwd" property="apPwd" />
<result column="my_server_ip" property="myServerIp" />
<result column="my_server_port" property="myServerPort" />
<result column="user_name" property="userName" />
<result column="user_pwd" property="userPwd" />
<result column="mcu_is_line" property="mcuIsLine" />
<result column="mcu_this_time" property="mcuThisTime" />
<!-- 定义子表信息 -->
<collection property="infoUsers" column="mcu_id" select="com.hk.mcuInfoUser.dao.McuInfoUserMapper.selectByInfoId"/>
</resultMap>
<select id="selectInfoUser" resultMap="selectInfoUserMap">
SELECT <include refid="Base_Column_List"></include> FROM mcu_info info
</select>
<h2><a id="_0"></a>一对多</h2>
<h3><a id="_1"></a>实体类</h3>
<pre><div class="hljs"><code class="lang-java"> <span class="hljs-comment">/**
* 关联用户
*/</span>
<span class="hljs-meta">@TableField</span>(exist = <span class="hljs-keyword">false</span>)
<span class="hljs-keyword">private</span> List<McuInfoUser> infoUsers;
</code></div></pre>
<h3><a id="xml_9"></a>xml</h3>
<p>这种方式分页有问题,不分页时可以用</p>
<pre><div class="hljs"><code class="lang-xml"><span class="hljs-tag"><<span class="hljs-name">resultMap</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"selectInfoUserMap"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"com.hk.mcuInfo.model.McuInfo"</span>></span>
<span class="hljs-tag"><<span class="hljs-name">id</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_id"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuId"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_create_time"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuCreateTime"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_update_time"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuUpdateTime"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_name"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuName"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_type"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuType"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"bin_version"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"binVersion"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"sta_ip"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"staIp"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"connect_wifi"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"connectWifi"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"tcp_server_ip"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"tcpServerIp"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"tcp_server_port"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"tcpServerPort"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"ap_name"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"apName"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"ap_pwd"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"apPwd"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"my_server_ip"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"myServerIp"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"my_server_port"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"myServerPort"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"user_name"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"userName"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"user_pwd"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"userPwd"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_is_line"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuIsLine"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"mcu_this_time"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"mcuThisTime"</span> /></span>
<span class="hljs-comment"><!-- 定义子表信息 --></span>
<span class="hljs-tag"><<span class="hljs-name">collection</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"infoUsers"</span> <span class="hljs-attr">ofType</span>=<span class="hljs-string">"com.hk.mcuInfoUser.model.McuInfoUser"</span>></span>
<span class="hljs-tag"><<span class="hljs-name">id</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"inu_id"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"inuId"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"inu_info_id"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"inuInfoId"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"inu_user_uuid"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"inuUserUuid"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"inu_user_name"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"inuUserName"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">result</span> <span class="hljs-attr">column</span>=<span class="hljs-string">"inu_type"</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"inuType"</span> /></span>
<span class="hljs-tag"></<span class="hljs-name">collection</span>></span>
<span class="hljs-tag"></<span class="hljs-name">resultMap</span>></span>
<span class="hljs-tag"><<span class="hljs-name">select</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"selectInfoUser"</span> <span class="hljs-attr">resultMap</span>=<span class="hljs-string">"selectInfoUserMap"</span>></span>
SELECT * FROM mcu_info info
LEFT JOIN mcu_info_user iu on inu_info_id = mcu_id
<span class="hljs-tag"></<span class="hljs-name">select</span>></span>
</code></div></pre>
<h2><a id="_51"></a>多对多</h2>
<h3><a id="_52"></a>实体类</h3>
<pre><div class="hljs"><code class="lang-java"> <span class="hljs-comment">/**
* 关联用户
*/</span>
<span class="hljs-meta">@TableField</span>(exist = <span class="hljs-keyword">false</span>)
<span class="hljs-keyword">private</span> List<McuInfoUser> infoUsers;
</code></div></pre>
<h3><a id="xml_60"></a>xml</h3>
<p>McuInfoUserMapper.xml</p>
<pre><code class="lang-"> <select id="selectByInfoId" resultMap="BaseResultMap">
select * from mcu_info_user where inu_info_id = #{mcuId}
</select>
</code></pre>
<p>McuInfoMapper.xml</p>
<pre><code class="lang-"> <resultMap id="selectInfoUserMap" type="com.hk.mcuInfo.model.McuInfo">
<id column="mcu_id" property="mcuId" />
<result column="mcu_create_time" property="mcuCreateTime" />
<result column="mcu_update_time" property="mcuUpdateTime" />
<result column="mcu_name" property="mcuName" />
<result column="mcu_type" property="mcuType" />
<result column="bin_version" property="binVersion" />
<result column="sta_ip" property="staIp" />
<result column="connect_wifi" property="connectWifi" />
<result column="tcp_server_ip" property="tcpServerIp" />
<result column="tcp_server_port" property="tcpServerPort" />
<result column="ap_name" property="apName" />
<result column="ap_pwd" property="apPwd" />
<result column="my_server_ip" property="myServerIp" />
<result column="my_server_port" property="myServerPort" />
<result column="user_name" property="userName" />
<result column="user_pwd" property="userPwd" />
<result column="mcu_is_line" property="mcuIsLine" />
<result column="mcu_this_time" property="mcuThisTime" />
<!-- 定义子表信息 -->
<collection property="infoUsers" column="mcu_id" select="com.hk.mcuInfoUser.dao.McuInfoUserMapper.selectByInfoId"/>
</resultMap>
<select id="selectInfoUser" resultMap="selectInfoUserMap">
SELECT <include refid="Base_Column_List"></include> FROM mcu_info info
</select>
</code></pre>