使用Mybatis来实现1对多查询

目录

场景 

写Mybatis的查询接口

在UserInfoMapper里面写一个接口

在其对应的UserInfoMapper.xml里面写接口的实现sql.

 在test测试

​编辑 结果


 

场景 

在我们的evalue表里有user_id这个字段,这个user_id就表示这个评价属于哪个用户,会存在多个评价属于同一个用户的情况,这里的用户就是一,评价就是多,它们一起构成可一对多的关系。

那么我们现在的需求就是在查询用户信息的时候,顺带查询出其所拥有的评价,这是一个非常典型的一对多查询。那么如何解决呢?

使用Mybatis来实现1对多查询_第1张图片

写Mybatis的查询接口

User实体新增一个evalueList属性,标注一下@TableField(exist = false)表示这个属性在数据库不存在,只是用来查询使用的。

使用Mybatis来实现1对多查询_第2张图片 

UserInfoMapper里面写一个接口

使用Mybatis来实现1对多查询_第3张图片

在其对应的UserInfoMapper.xml里面写接口的实现sql.

select u.* , e.id e_id ,e.evaluate e_evaluate,e.create_time e_create_time from user_info u left join item_commodity_evaluate e on u.uid=e.user_id where u.uid=#{uid}

 在test测试

使用Mybatis来实现1对多查询_第4张图片 结果

使用Mybatis来实现1对多查询_第5张图片

你可能感兴趣的:(工作问题总结,mybatis,java,数据库)