mybatis 一对多和一对一写法注意事项
Posted magicasa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 一对多和一对一写法注意事项相关的知识,希望对你有一定的参考价值。
<resultMap id="ChartResultMap" type="com.qif.dsa.ucenter.planinfo.entity.ChartDate"> <id column="time" jdbcType="VARCHAR" property="time"/> <collection property="planChartList" javaType="java.util.List" column="time" ofType="com.qif.dsa.ucenter.planinfo.entity.PlanChart" > <id column="time" jdbcType="VARCHAR" property="time" />
下面的i-State 是数据库里的字段, iState 则是展示到页面的字段
<result column="i_State" jdbcType="VARCHAR" property="iState" /> <result column="stateCount" jdbcType="INTEGER" property="stateCount" /> </collection> </resultMap>
以上写法用于一对多select..... leftjoin .....
<resultMap id="BigTypeResultMap" type="com.qif.dsa.ucenter.bigtype.entity.BigType"> <id column="BigTypeId" jdbcType="INTEGER" property="bigTypeId" /> <result column="vc_Name" jdbcType="VARCHAR" property="vcName" /> 这里的BigTypeId 作为外键 querySmallTypeByBigId方法是另外一个dao层里面通过外键查到的数据 一次返回 <collection property="smallTypeList" column="BigTypeId" select="com.qif.dsa.ucenter.smallType.dao.SmallTypeDao.querySmallTypeByBigId"/> </resultMap> 以上写法用于一对多 select.....(包含外键) 原理: 一条不关联的sql 里面包含外键 当返回值为带有 select 的collection时,自动从别的表调用查询语句 返回整体结果
<resultMap id="HazardResultMap" type="com.qif.dsa.ucenter.hazardinfo.entity.HazardInfo"> <id column="HazardID" jdbcType="INTEGER" property="hazardId" /> <result column="RcuID" jdbcType="INTEGER" property="rcuId" /> <result column="vc_HazardContent" jdbcType="VARCHAR" property="vcHazardContent" /> <result column="vc_FillPeople" jdbcType="VARCHAR" property="vcFillPeople" /> <association property="rcuInfo" javaType="com.qif.dsa.ucenter.rcuinfo.entity.RcuInfo" columnPrefix="rcu_"> <id property="rcuId" jdbcType="INTEGER" column="RcuID"/> <result property="orgId" jdbcType="INTEGER" column="OrgID"/> <result property="vcName" jdbcType="VARCHAR" column="vcName"/> </association> </resultMap>
以上写法用于一对一 select..... innerjoin .....
以上是关于mybatis 一对多和一对一写法注意事项的主要内容,如果未能解决你的问题,请参考以下文章