mysql中存TINYINT,转Object会变为boolean类型
解决办法:
1.查询语句+0
2.使用jdbctemplate.queryForList的其他构造方式,
出现Incorrect column count: expected 1, actual (在使用jdbc的querForObject queryForList的时候)
比如
String sql = "select * from member where mid = 100051";
SysUser s = this.jdbcTemplate.queryForObject(sql, Member.class);
其实这样是不对的,
应该为
String sql = "select name from member where mid = 100051";
String s = this.jdbcTemplate.queryForObject(sql, String.class);
System.out.println(s);
这个 jdbcTemplate.queryForObject(sql, requiredType) 中的requiredType应该为八种基础类型,和String类型。
如果想查真正的object应该为
List<Member> mList = jdbcTemplate.query(sql, new Object[]{}, new BeanPropertyRowMapper<Member>(member.class));
if(null!=mList&&mList.size()>0){
Member m = mList.get(0);
}
The following table shows the mapping between SQL and Java data types. They are from JDBC.
|