Mybatis中怎么返回一个多表查询的结果

qq_38619862 2018-05-08 06:36:38

这是我通过多表查询得到的结果,
我怎么在mapper.xml文件中写这个返回值

我需要得到这个数据,返回一个List<Object[]>的话是最好的,每一行数据都存在一个Object数组中。万分感谢~
...全文
6175 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-06-24
  • 打赏
  • 举报
回复
引用 8 楼 minghao. 的回复:
返回类型List<Map<String,Object> map> resultType="java.util.Map"
这个没毛病。 楼主其实不是嫌弃麻烦,而是不太愿意接受有class这种类型规范。 楼主其实比较适合进行nodejs的开发,那玩意是范类型的。 Java本身就是类和对象的语言,先规定了类,才会有对应对象。 至少我是不提倡使用Map作为封装数据的对象的,除非查询结果的字段会动态变化。 原因如下: 1. 对其他人阅读你的代码会相对困难一点,有个JavaBean会更加易懂; 2. 沟通编程思路和设计思想的时候,Map对别人来讲可能会成为一个黑洞,里面放的具体内容不够形象; 3. 当你程序写的多了之后,就会对封装有了更进一步的了解,会意识到,Java程序当中的类,在拆分成两个大的分类之后,会使得编程更加简单明了,那就是行为和数据两个分类,一个只是操纵数据,另一个只保存数据。在只保存数据的JavaBean中,我们一般不会使用Map来代替JavaBean,这需要你对封装这个词的理解,是否达到了某个程度。
halet 2020-06-19
  • 打赏
  • 举报
回复
可以直接使用 resultType = “map” 如果要使用 resultMap,需要自定义 <resultMap id="result(自定义)" type="(指定类型)"> </resultMap>
minghao. 2018-05-10
  • 打赏
  • 举报
回复
返回类型List<Map<String,Object> map> resultType="java.util.Map"
wellven_chen 2018-05-10
  • 打赏
  • 举报
回复
返回的直接就是一个List<Map>,里面的Map就是每一行的数据和域名的对应关系
maradona1984 2018-05-10
  • 打赏
  • 举报
回复
哥们你这想法有点问题,嫌麻烦就用map,以后会让人很麻烦的... 除非你这功能是不确定实体的
热爱生活~~~ 2018-05-09
  • 打赏
  • 举报
回复
<select id="all" resultType="map">select * from user where flag=1</select>//查询所有flag=1的数据,返回类型为map
List<Map<String, Object>> all(@Param("flag")Integer flag);//使用参数,不使用bean。list<map>接受返回数据
Coder_D 2018-05-09
  • 打赏
  • 举报
回复
mybatis的resultmap需要定义的 利用自带的<resultMap>标签去实现
qq_38619862 2018-05-08
  • 打赏
  • 举报
回复
引用 4 楼 qq_35261789 的回复:
[quote=引用 2 楼 qq_38619862 的回复:] [quote=引用 1 楼 qq_35261789 的回复:] 直接定义一个实体类 接收下参数就行了呀 不想创建对象的话 用map作为返回值类型也行呀
我就是嫌实体类麻烦,看看本不可以通过改返回值来实现。 那么如果用map返回我这里的resultMap怎么写?[/quote] 这样返回的应该是一个List<HashMap>[/quote] 好的 多谢~
阳光越来越暖 2018-05-08
  • 打赏
  • 举报
回复
引用 2 楼 qq_38619862 的回复:
[quote=引用 1 楼 qq_35261789 的回复:] 直接定义一个实体类 接收下参数就行了呀 不想创建对象的话 用map作为返回值类型也行呀
我就是嫌实体类麻烦,看看本不可以通过改返回值来实现。 那么如果用map返回我这里的resultMap怎么写?[/quote] 这样返回的应该是一个List<HashMap>
阳光越来越暖 2018-05-08
  • 打赏
  • 举报
回复
引用 2 楼 qq_38619862 的回复:
[quote=引用 1 楼 qq_35261789 的回复:] 直接定义一个实体类 接收下参数就行了呀 不想创建对象的话 用map作为返回值类型也行呀
我就是嫌实体类麻烦,看看本不可以通过改返回值来实现。 那么如果用map返回我这里的resultMap怎么写?[/quote] 不设定resultMap 设定resultType <selectid="" parameterType="" resultType="java.util.Map">
qq_38619862 2018-05-08
  • 打赏
  • 举报
回复
引用 1 楼 qq_35261789 的回复:
直接定义一个实体类 接收下参数就行了呀 不想创建对象的话 用map作为返回值类型也行呀
我就是嫌实体类麻烦,看看本不可以通过改返回值来实现。 那么如果用map返回我这里的resultMap怎么写?
阳光越来越暖 2018-05-08
  • 打赏
  • 举报
回复
直接定义一个实体类 接收下参数就行了呀 不想创建对象的话 用map作为返回值类型也行呀

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧