我们初学者都知道表中的数据返回值通常是一个list集合,这个中的每一个元素其实都是实体类的实现,我们可以通过循环遍历每一个对象元素然后通过构造方法来获取我们想要的元素值。但是如果我们压根没有实体类呢,我还想通过遍历来获取每一个字段的值呢:答案是map和list相结合。
首先表:
1:首先jdbc查询:这里用的是jdbcTemplate
代码:
使用的方法是:jdbcTemplate.queryForList()
输出结果:可以看出这个结果是一个集合,集合中有很多对象。
[{id=1, username=243, password=123}, {id=2, username=2345, password=234}, {id=33, username=234, password=123}, {id=34, username=345, password=234}, {id=36, username=645, password=958087}, {id=37, username=567, password=123}, {id=38, username=76, password=123}, {id=39, username=789, password=123}, {id=40, username=780, password=234}, {id=41, username=534, password=345}, {id=42, username=23, password=123}, {id=43, username=2346, password=070809}, {id=44, username=756, password=070809}, {id=45, username=568, password=123}]
那么我们要怎么想取哪个值取哪个值呢?
结果:
总结:jdbc通过queryForList方法的返回值类型是一个list,但是反省是Map,所以我们能通过遍历每一个map然后通过表中的字段获取我们想要的值,想要哪一个都行,只要知道字段名。
2:mybatis:mybatis中会不会也可以呢?可以是可以,但是返回值类型必须要自定义(List<Map<>>)
sql,以及方法:
代码:
结果:
总结:使用了框架更加简单,就是返回值类型需要自己定义。
3:mybatisplus
代码:
结果:
总结:mybatisplus中当然也会向其他方法一样,人家以及替我们想到了,直接帮我们写好了方法。
有了map,我们就可以在表中取到任何我们想要的值。