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 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_02 小时前
mac(m5)平台编译openjdk
java
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
用户3521802454752 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
东坡白菜2 天前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈