mybatis一对一,一对多,字段重复

1、一对一,association和javaType

    <resultMap type="com.example.ProdTask" id="ProdTaskMapWithDInvChkTask">
        <result property="taskCateg" column="ProdTask_CATEG" jdbcType="VARCHAR"/>
        <result property="taskNo" column="ProdTaskTASK_NO" jdbcType="VARCHAR"/>
        <association property="taskData" javaType="com.example.dyc.myofbatis.DInvChkTask">
            <result property="taskId" column="TASK_ID" jdbcType="VARCHAR"/>
            <result property="taskNo" column="TASK_NO" jdbcType="VARCHAR"/>
        </association>
    </resultMap>

    <select id="queryByTaskNoWithDInvChkTask" resultMap="ProdTaskMapWithDInvChkTask">
        select
        <include refid="Base_Column_List_ProdTask"/>, <include refid="Base_Column_List_DInvChkTask"></include>
        from T_PROD_TASK ProdTask left join D_INV_CHK_TASK d on ProdTask.TASK_NO = d.TASK_NO
        where ProdTask.TASK_NO = #{taskNo}
    </select>

2、一对多,collection和ofType

    <resultMap type="com.example.ProdTask" id="ProdTaskMapWithDInvChkTask">
        <result property="taskCateg" column="ProdTask_CATEG" jdbcType="VARCHAR"/>
        <result property="taskNo" column="ProdTaskTASK_NO" jdbcType="VARCHAR"/>
        <collection property="taskData" ofType="com.example.dyc.myofbatis.DInvChkTask">
            <result property="taskId" column="TASK_ID" jdbcType="VARCHAR"/>
            <result property="taskNo" column="TASK_NO" jdbcType="VARCHAR"/>
        </collection >
    </resultMap>

3、字段名重复问题

可以采用取别名的方式,对应的resultmap中column需要取别名。

4、参数映射

都采用@Param(),避免出问题

相关推荐
魔道不误砍柴功2 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2342 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨2 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟4 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
Ai 编码助手4 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
P.H. Infinity5 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天5 小时前
java的threadlocal为何内存泄漏
java
陈燚_重生之又为程序员5 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle5 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻5 小时前
MySQL排序查询
数据库·mysql