druid查询可以查询数据库,查出来不对,感觉不像乱码,但也不知道是啥,之前这这么写一直都没问题,求大佬帮帮我吧,真的不知道为什么这样,困惑了好几天了。绝望

wsxyerr 2019-12-09 03:01:00
servlet代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
UserDaoImpl dao=new UserDaoImpl();
List<Login> user = dao.findAll();
System.out.println(user);
}

dao代码:
public class UserDaoImpl{

private JdbcTemplate jdbc=new JdbcTemplate(DruidUtil.getDataSource());
public List<Login> findAll() {
// TODO Auto-generated method stub

String sql="select * from user1";
List<Login> users = jdbc.query(sql, new BeanPropertyRowMapper<Login>(Login.class));
return users;
}


}

domain代码:
public class Login {

private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}




结果查询出来是这个:
[jdbctest.Login@1b84aa37, jdbctest.Login@560f9a1b, jdbctest.Login@79e7f97e]
我也不知道是个啥东西。

查询出来正确的应该是这样的:
[Login [name=zhangsan, password=123], Login [name=张三, password=123], Login [name=lisi, password=123]]


...全文
127 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsxyerr 2019-12-13
  • 打赏
  • 举报
回复
引用 6 楼 jack5246的回复:
[quote=引用 5 楼 乐鼠儿 的回复:]
[quote=引用 4 楼 jack5246 的回复:]
[quote=引用 3 楼 乐鼠儿 的回复:]
[quote=引用 2 楼 jack5246的回复:]其实你已经查出来了,只是你输出的是对象的内存地址
想要变成你想要的格式就要重写Login的toString方法

谢谢您回复,我已经重写toString方法了,还是不对,依然是那个结果[/quote]

把你的toString代码贴出来看看[/quote]
这是我加上toString后的代码:
public class Login {

private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Login [name=" + name + ", password=" + password + "]";
}


}[/quote]

这样应该没什么问题了,你看看是不是有缓存之类的,再检查一下[/quote] 好的,非常感谢您回复,我再看看
jack5246 2019-12-12
  • 打赏
  • 举报
回复
引用 5 楼 乐鼠儿 的回复:
[quote=引用 4 楼 jack5246 的回复:]
[quote=引用 3 楼 乐鼠儿 的回复:]
[quote=引用 2 楼 jack5246的回复:]其实你已经查出来了,只是你输出的是对象的内存地址
想要变成你想要的格式就要重写Login的toString方法

谢谢您回复,我已经重写toString方法了,还是不对,依然是那个结果[/quote]

把你的toString代码贴出来看看[/quote]
这是我加上toString后的代码:
public class Login {

private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Login [name=" + name + ", password=" + password + "]";
}


}[/quote]

这样应该没什么问题了,你看看是不是有缓存之类的,再检查一下
wsxyerr 2019-12-10
  • 打赏
  • 举报
回复
引用 4 楼 jack5246 的回复:
[quote=引用 3 楼 乐鼠儿 的回复:]
[quote=引用 2 楼 jack5246的回复:]其实你已经查出来了,只是你输出的是对象的内存地址
想要变成你想要的格式就要重写Login的toString方法

谢谢您回复,我已经重写toString方法了,还是不对,依然是那个结果[/quote]

把你的toString代码贴出来看看[/quote]
这是我加上toString后的代码:
public class Login {

private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Login [name=" + name + ", password=" + password + "]";
}


}
jack5246 2019-12-10
  • 打赏
  • 举报
回复
引用 3 楼 乐鼠儿 的回复:
[quote=引用 2 楼 jack5246的回复:]其实你已经查出来了,只是你输出的是对象的内存地址
想要变成你想要的格式就要重写Login的toString方法

谢谢您回复,我已经重写toString方法了,还是不对,依然是那个结果[/quote]

把你的toString代码贴出来看看
wsxyerr 2019-12-09
  • 打赏
  • 举报
回复
引用 2 楼 jack5246的回复:
其实你已经查出来了,只是你输出的是对象的内存地址
想要变成你想要的格式就要重写Login的toString方法
谢谢您回复,我已经重写toString方法了,还是不对,依然是那个结果
jack5246 2019-12-09
  • 打赏
  • 举报
回复
其实你已经查出来了,只是你输出的是对象的内存地址
想要变成你想要的格式就要重写Login的toString方法
wsxyerr 2019-12-09
  • 打赏
  • 举报
回复
求求大佬帮忙看一下吧,真的很绝望,不知道为什么

5,658

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧