场景:

  • A:SecControlRulePojo.java
  • B:SecControlSubRulePojo
  • C:SecControlSubRuleManyPojo

实体A中包含List<B>字段,实体B中包含List<C>字段

使用mybatis完成查询映射。

首先定义ResultMap

<resultMap
type="com.wisdombud.dth.boss.control.pojo.SecControlRulePojo"
id="FULL_RESULT_MAP">
<id column="ID" jdbcType="DECIMAL" property="id" />
<result column="NAME" jdbcType="VARCHAR" property="name" />
<result column="ACTION_CODE" jdbcType="DECIMAL"
property="actionCode" />
<result column="TIP_INFO" jdbcType="VARCHAR" property="tipInfo" />
<result column="IS_VALID" jdbcType="DECIMAL" property="isValid" />
<result column="IS_WHITE" jdbcType="DECIMAL" property="isWhite" />
<result column="CREATE_LOGIN_NO" jdbcType="VARCHAR"
property="createLoginNo" />
<result column="CREATE_TIME" jdbcType="TIMESTAMP"
property="createTime" />
<result column="CREATE_SERIAL_NUM" jdbcType="DECIMAL"
property="createSerialNum" />
<result column="LAST_UPDATE_TIME" jdbcType="TIMESTAMP"
property="lastUpdateTime" />
<result column="LAST_LOGIN_NO" jdbcType="VARCHAR"
property="lastLoginNo" />
<result column="LAST_SERIAL_NUM" jdbcType="DECIMAL"
property="lastSerialNum" />
<result column="REMARK" jdbcType="VARCHAR" property="remark" />
<result column="RE1" jdbcType="VARCHAR" property="re1" />
<result column="RE2" jdbcType="VARCHAR" property="re2" />
<result column="RE3" jdbcType="VARCHAR" property="re3" />
<result column="RE4" jdbcType="VARCHAR" property="re4" />
<collection property="subRuleList"
ofType="com.wisdombud.dth.boss.control.pojo.SecControlSubRulePojo">
<result column="ID" property="id" />
<result column="RULE_ID" jdbcType="DECIMAL" property="ruleId" />
<result column="SUB_ACTION_CODE" jdbcType="DECIMAL"
property="actionCode" />
<result column="SUB_IS_VALID" jdbcType="DECIMAL"
property="isValid" />
<result column="SUB_IS_WHITE" jdbcType="DECIMAL"
property="isWhite" />
<result column="FACTOR_CODE" jdbcType="DECIMAL"
property="factorCode" />
<result column="OPERATOR_CODE" jdbcType="DECIMAL"
property="operatorCode" />
<result column="QUANTITY_VALUE" jdbcType="DECIMAL"
property="quantityValue" />
<result column="QUANTITY_TIME_START" jdbcType="TIMESTAMP"
property="quantityTimeStart" />
<result column="QUANTITY_TIME_END" jdbcType="TIMESTAMP"
property="quantityTimeEnd" />
<collection property="manyList"
ofType="com.wisdombud.dth.boss.control.pojo.SecControlSubRuleManyPojo">
<result column="SUB_MANY_ID" property="id" />
<result column="SUB_RULE_ID" property="subRuleId" />
<result column="VALUE_ID" property="valueId" />
<result column="VALUE_STRING" property="valueString" />
<result column="EXPRESSION" property="expression" />
</collection>
</collection>
</resultMap>

如果实体中包含相同的列名,需要给列名取别名并设置

<result column="别名" property="实体字段名" />

SQL:

<select id="selectAll" resultMap="FULL_RESULT_MAP">
SELECT
controlRule.ID,controlRule.NAME,controlRule.ACTION_CODE,controlRule.CREATE_LOGIN_NO,
controlRule.CREATE_SERIAL_NUM,controlRule.CREATE_TIME,controlRule.IS_VALID,controlRule.IS_WHITE,
controlRule.LAST_LOGIN_NO,controlRule.LAST_SERIAL_NUM,controlRule.LAST_UPDATE_TIME, subRule.ID subId,subRule.RULE_ID,subRule.ACTION_CODE
SUB_ACTION_CODE,subRule.IS_VALID SUB_IS_VALID,subRule.IS_WHITE
SUB_IS_WHITE,
subRule.FACTOR_CODE,subRule.OPERATOR_CODE,subRule.QUANTITY_VALUE,subRule.QUANTITY_TIME_START,subRule.QUANTITY_TIME_END, subRuleMany."ID"
SUB_MANY_ID,subRuleMany.SUB_RULE_ID,subRuleMany.VALUE_ID,subRuleMany.VALUE_STRING,subRuleMany.EXPRESSION
FROM
SEC_CONTROL_RULE controlRule,
SEC_CONTROL_SUB_RULE subRule,
SEC_CONTROL_SUB_RULE_MANY subRuleMany
WHERE
controlRule."ID"=subRule.RULE_ID AND subRule.RULE_ID =
subRuleMany.SUB_RULE_ID
</select>

最新文章

  1. 检查sql执行效率
  2. 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题
  3. [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)
  4. noi 8462 大盗阿福
  5. Microsoft Fakes
  6. ArcGIS Engine中加载数据
  7. 【LeetCode】8. String to Integer (atoi) 字符串转整数
  8. Android无法访问本地服务器(localhost)的解决方案
  9. uva10943
  10. C_const
  11. Android L中间RecyclerView 、CardView 、Palette使用
  12. winform上传文件
  13. Chapter 1 First Sight——32
  14. ScreenCaptureHtmlUnitDriver.java
  15. Redis 的安装与使用
  16. php追加编译GD库
  17. ZOJ2724 Windows Message Queue 裸queue的模拟
  18. jquery监听textarea内容变化
  19. python 私有方法
  20. [BZOJ2738]矩阵乘法(整体二分+二维树状数组)

热门文章

  1. 如何下载火山小视频-附火山小视频下载youtube视频下载网站
  2. python之路径拼接urljoin
  3. SDUT OJ 数据结构实验之二叉树八:(中序后序)求二叉树的深度
  4. 在执行 Database.SqlQuery Method (String, Object[]) 执行中出现错误
  5. 在DZ 中 showmessage 中可以再次执行 JS
  6. StyleSheet
  7. 搭建svn管理平台
  8. 1017 A除以B (20 分)
  9. HLS-搭建Nginx流媒体服务器
  10. P3233 [HNOI2014]世界树