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(),避免出问题

相关推荐
A~taoker2 分钟前
django扩展练习记录
数据库·django·sqlite
敲上瘾1 小时前
MySQL数据库表的约束
linux·数据库·sql·mysql·数据库开发·数据库架构·数据库系统
努力的搬砖人.1 小时前
SQLite 转换为 MySQL 数据库
数据库·mysql·sqlite
2301_803297751 小时前
Shell编程值正则表达式和文本处理器
数据库·mysql·正则表达式
.生产的驴1 小时前
Maven 公司内部私服中央仓库搭建 局域网仓库 资源共享 依赖包构建共享
java·maven
Auc241 小时前
OJ判题系统第6期之判题逻辑开发——设计思路、实现步骤、代码实现(策略模式)
java·开发语言·docker·容器·策略模式
快乐肚皮1 小时前
深入解析Docker:核心架构与最佳实践
java·运维·docker·容器
zhou1851 小时前
MySQL保姆级安装教程(附资源包+5分钟极速配置+环境变量调试技巧)
java·python·mysql·php
小雅痞2 小时前
[Java][Leetcode middle] 55. 跳跃游戏
java·leetcode
com未来2 小时前
使用 NSSM 安装 Tomcat 11.0.6 为 Windows 服务
java·windows·tomcat