(4)深坑之MyBatis只能查询一条记录

    xiaoxiao2021-03-25  106

    深坑描述深坑原因深坑解决总结

    1 深坑描述

          我数据库中有三张表,暂且记作 表A,表B,表C,他们之间的关系如下图所示:

    我创建的持久化类A:

    当我进行数据库查询的时候,执行的SQL语句是没有问题的,但是work和treatises两个集合总是只有一个数据(按理说work里面应该有3个数据,treatises应该有4个数据)

    2 深坑原因

    产生这种问题的原因,是因为两个数据库的主键都叫做id:如下图

    3 深坑解决

    如何解决这种问题:

    在Mybatis的配置文件中添加使用别名(注意sql语句也要用别名)

    我们修改的只是配置文件,数据库不要改变(注意:数据库不要改变)

    修改配置文件为别名

    sql语句使用别名查询

    运行结果正确了

    4.总结

          通过这个坑我们可以看出来:

    Mybatis的映射关系是通过查询出来的别名进行反射的。
    转载请注明原文地址: https://ju.6miu.com/read-10669.html

    最新回复(0)