mysql,mybatis获取几个相同结构的表所有符合条件的数据

以下是两个字段完全一致的表,一个是nanjing-person 表
在这里插入图片描述
个是hangzhou-person表
在这里插入图片描述
怎么把两个表的内容全取出来呢
使用union 或者union all

  • 使用union时
SELECT
id,
	sex,
	NAME,
	hobby 
FROM
	`hangzhou-person` UNION 
SELECT
id,
	sex,
	NAME,
	hobby 
FROM
	`nanjing-person`

得到的结果
在这里插入图片描述

  • 而使用union ll

在这里插入图片描述
那么使用mybatis 该怎么取出来呢,在这里,将tableNames作为集合参数传进去,想获取几个表就获取几个表的内容,简单到引起极度舒适

<select id="listPerson" resultMap="BaseResultMap" >
        select t3.id,t3.sex,t3.name,t3.hobby
        from(
        <foreach collection="tableNames" index="index" item="item" separator="union">
            select id,sex,name,hobby from ${item} where name=2
        </foreach>
        )  as t3
    </select>

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章