<select id="selectMiddleTable" resultType="map">
select ${columns} from ${tables} WHERE t0.rec_sn = #{resSn}
</select>
resultType返回类型选择map,mybatis自动会把全表查询结果生成列名+列值的键值对
resultType = java.lang.String
针对是单行多列的情况 会组成List列表
select a from ${tables} WHERE t0.rec_sn = #{resSn}
返回值结果就是多个a列的值存储在list集合里
获取相同的内容列名+值
原生代码如下
ResultSet resultSet = pst.executeQuery();
int columnCount = resultSet.getMetaData().getColumnCount();
while (resultSet.next()) {
for (int col = 0; col < columnCount; col++) {
// 获取列数获取该列的字段名
String columnName = resultSet.getMetaData().getColumnName(col + 1);
// 根据字段名获取改行当前字段的数据
String value = (String) resultSet.getObject(columnName);
map.put(columnName, value);
}
}
mybatis框架map返回值在没有JavaBean的情况下,默认给的是有值的情况
然后原生的是需要自己判断的,会全部遍历所有的列,空值会给null