mybatis多表关联查询其他方法

有三张表,第一个国家表,里面有国家id,国家名字,省份id;第二个是省份表,省份id,省份名字,城市id;第三张表是城市表,城市id,城市名。三张表三个实体类各不关联,没嵌套关系。如何果用连接查询得到三个名字,国家名省份名和城市名的列表。问mybatis映射文件怎么接收查询的结果?有一个是新建一个实体类有这三个名字属性,请问还有其他办法吗,sql语句已经有了

3个回答

返回map

resultType="java.util.Map"
qq_33855563
o(╯□╰)o ! 回复:返回值是Map类型的
大约一年之前 回复
qq_33855563
o(╯□╰)o ! 回复weixin_43190879: List<Map<String,Object>>
大约一年之前 回复
weixin_43190879
莫知莫言 回复weixin_39060340: 嗯,我试试
大约一年之前 回复
weixin_39060340
一只不会写并发的程序猿 回复weixin_43190879: List<String>就可以,List<String> list = dao.selectName(参数);国Name=list.国Name;
大约一年之前 回复
weixin_43190879
莫知莫言 然后呢,用什么来接收这个list集合呢,就是返回结果是list<>里面什么格式
大约一年之前 回复

新建的实体类命名a,a里面的字段国家为CuName,省份为PName,城市为CiName, 国家表.name as 'CuName',省份表.name as 'PName',城市表.name as 'CiName' ,然后resultType='a'
这个a就是接收的就是你要的

weixin_39060340
一只不会写并发的程序猿 回复weixin_43190879: 客气,可以用List接收用的时候直接在dao层让它的返回值为List<String>
大约一年之前 回复
weixin_43190879
莫知莫言 这个新建实体类我是知道的,想问其他的,谢谢啊
大约一年之前 回复

你可以这样考虑,用sql把这三个字符串拼起来,然后就是返回一个字符串,dao用List接收,不是很清楚这样行不行哈

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问