MyBatis两张表字段名相同产生的问题

MyBatis两张表字段名相同, 会导致bean属性都映射为第一个表的列,

解决方法:

通过设置别名的方式让其产生区别,如

<select id="queryBySekillId" resultMap="successKilled">
 
        select
            sk.seckill_id  "seckill_id",
            sk.user_phone  "user_phone",
            sk.state  "state",
            sk.create_time  "create_time",
            s.seckill_id  "seckill_id",
            s.name  "name",
            s.number  "number",
            s.start_time  "start_time",
            s.end_time  "end_time",
            <strong>s.create_time  "screate_time"</strong>
        from success_killed sk
        inner join seckill s
        on sk.seckill_id = s.seckill_id
        where sk.seckill_id = #{seckill_id} ;
 
</select>

  上 success_killed表和seckill表中有相同字段 create_time (id字段其实确实是相同的故在此忽略),通过将表seckill的create_time字段命名为screate_time用以区别。

<resultMap type="Seckill" id="seckill">
        <id column="seckill_id"  property="seckill_id"/>
        <result column="name" property="name"/>
        <result column="number" property="number"/>
        <result column="start_time" property="start_time" />
        <result column="end_time"  property="end_time"/>
        <result column="screate_time"  property="create_time" /> 
</resultMap>

  同时将 resultMap中该段的 column 属性该为 screate_time.故只要让查询出的字段名与column相同,它会通过映射找到相应属性进行封装。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

在CentOS 6上使用Postfix,Dovecot和MySQL发送电子邮件

Postfix 邮件传输代理(MTA)是一种高性能的开源电子邮件服务器系统。本指南将帮助你在CentOS 6 Linode上运行 Postfix,使用 Dove...

3365
来自专栏我的博客

六步更改Mysql最高权限密码【Linux平台】

1、停止MySQL服务 执行: #service mysqld stop 2、跳过验证启动MySQL #/usr/bin/mysqld_safe –skip-...

3635
来自专栏大白虾谈架构

mysql 远程连接数据库的二种方法

6K3
来自专栏乐沙弥的世界

Oracle 闪回特性(FLASHBACK DATABASE)

闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从闪回的方式可以分为基于数据库级别闪回、表级别闪回、事务

1354
来自专栏程序猿

mysql 命令小集锦

1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:创建一个数据库MYSQLDATA mysql> CRE...

3236
来自专栏WindCoder

Discuz!X3.1QQ互联Unknown column 'conuintoken' in 'field list'的解决办法

1281
来自专栏zcqshine's blog

PHP mysqli_multi_query 连续执行的坑

3866
来自专栏王硕

原 PostgreSQL基于时间点恢复(PITR)实验记录

4139
来自专栏乐沙弥的世界

MySQL 通用查询日志(General Query Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日...

5413
来自专栏Hongten

python开发_count()

功能:读取一个文件'c:\\test.txt',统计出该文件中出现字符'a'的次数

1411

扫码关注云+社区

领取腾讯云代金券