在一开始以为jdbcTemplate查询时以为会像ibatis一样封装好所有的对象,就简单的传入一个RowMapper让他自己完成映射,没想到翻车了,数据出来了,但是每行的数据全部为空,没有赋值到实例里,翻来想去想不出个所以然,后来用queryForList(sql)通过返回的List<Map<String,Objecg>>查看到对应的key全是表名.字段名,这下子找到问题所在了,那就是要干掉这个表名,可是怎么干掉呢,回想之前MySQL、Oracle好像都是通过设置参数解决的,然后通过查看连接池(作者用的是Druid)想看看有没有什么参数有关的,
Druid连接池从参数名来看,没有一个是相关的。
最终,面向百度编程,在https://www.jianshu.com/p/5017e5075bfd该文章里了解到可以在URL直接设置hiveserver2的参数,在结合之前了解到在hive client查询时设置返回表头的参数,最后通过在url中添加
?hive.cli.print.header=true;hive.resultset.use.unique.column.names=false
hive.cli.print.header即返回表头,hive.resultset.use.unique.column.names是否使用唯一列名,即显不显示表名
问题解决,可以直接使用RowMapper了
网友评论