![](/img/trans.png)
[英]Return Type for jdbcTemplate.queryForList(sql, object, classType)
[英]How to get rid of column name every time from jdbcTemplate.queryForList(sql) in spring boot in java sql
这是代码:
public void readOperation() {
String sql="select * from std";
List list=jdbcTemplate.queryForList(sql);
for(int i=0;i<list.size();i++)
System.out.println(list.get(i));
}
我已经尝试了太多以这种方式打印
id name father
2451 mofiz kudda
1524 ahsan abdullah
但它总是这样打印:
{id=2451, name=mofiz, father=kudda}
{id=1524, name=ahsan, father=abdullah}
在 Spring 中,我们可以使用 jdbcTemplate.query() 从数据库中查询记录并通过行映射器将行转换为 Object 列表,覆盖 ZA8CFDE6331BD59EB2666F8911CB 中的 toString() 方法以打印数据。
public void readOperation()
{
String sql = "SELECT * FROM STD";
List<Std> stds = jdbcTemplate.query(sql, (rs, rowNum) -> new Std(rs.getInt("id"), rs.getString("name"), rs.getString("father")));
for (Std std : stds)
std.toString();
}
public class Std
{
private int id;
private String name;
private String father;
@Override
public String toString()
{
StringBuffer buff = new StringBuffer();
buff.append(this.id).append(" ").append(this.name).append(" ").append(this.father);
return buff.toString();
}
}
jdbcTemplate.queryForList 返回一个 List<Map<String,Object>> ,如果你将此列表传递给 System.out.println ,它会调用 List 的 toString 方法,然后是 Map 和条目。 这就是 output 看起来像您的样子的原因。
您必须编写代码才能像这样打印它。
System.out.println("id\\tname\\tfather");
for(Map<String,Object> map : list) {
System.out.println(map.get("id") + "\\t" + map.get("name") + "\\t" + map.get("father"));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.