将数据存入到一个对象中,然后再将该对象放入到一个arraylist中。后面从arraylist中取出对象,但是对象里的变量的值变为0,跟null了。有没人遇到过这样的?
ArrayList<OrderBean> al=new ArrayList<OrderBean>();
OrderBean ob=new OrderBean();
ob.setOrdersId(rs.getLong(1));
ob.setUserId(rs.getLong(2));
ob.setOrderDate(rs.getDate(3));
ob.setPayMode(rs.getString(4));
ob.setIsPayed(rs.getByte(5));
ob.setTotalPrice(rs.getFloat(6));
al.add(ob); 这里就是刚存入到arryalist中的值的情况:
System.out.println("我是分割线---------------------");
System.out.println(ob.getOrdersId()); 输出:1
System.out.println(ob.getUserId());输出: 1
System.out.println(ob.getOrderDate());输出:2011-06-22
System.out.println(ob.getPayMode());输出:货到付款
System.out.println(ob.getIsPayed());输出:0
System.out.println(ob.getTotalPrice());输出:43.0
System.out.println("我是分割线---------------------");后面再从arraylist中取出对象之后,再把对象中的值取出结果如下:
System.out.println("我是分割线一号线---------------------");
System.out.println(ob.getOrdersId());输出:0
System.out.println(ob.getUserId());输出:0
System.out.println(ob.getOrderDate());输出:null
System.out.println(ob.getPayMode());输出:null
System.out.println(ob.getIsPayed());输出:null
System.out.println(ob.getTotalPrice());输出:0.0
System.out.println("我是分割线一号线---------------------");
怀疑是数据异常或转换异常,但是系统没有报错。而我也指定泛型类型了。这个~~百思不得其解啊~~
不指定泛型也是同样结果!
不用arraylist存,改用vector来,结果还是一样~~求解答求帮助~~ !!
ArrayList<OrderBean> al=new ArrayList<OrderBean>();
OrderBean ob=new OrderBean();
ob.setOrdersId(rs.getLong(1));
ob.setUserId(rs.getLong(2));
ob.setOrderDate(rs.getDate(3));
ob.setPayMode(rs.getString(4));
ob.setIsPayed(rs.getByte(5));
ob.setTotalPrice(rs.getFloat(6));
al.add(ob); 这里就是刚存入到arryalist中的值的情况:
System.out.println("我是分割线---------------------");
System.out.println(ob.getOrdersId()); 输出:1
System.out.println(ob.getUserId());输出: 1
System.out.println(ob.getOrderDate());输出:2011-06-22
System.out.println(ob.getPayMode());输出:货到付款
System.out.println(ob.getIsPayed());输出:0
System.out.println(ob.getTotalPrice());输出:43.0
System.out.println("我是分割线---------------------");后面再从arraylist中取出对象之后,再把对象中的值取出结果如下:
System.out.println("我是分割线一号线---------------------");
System.out.println(ob.getOrdersId());输出:0
System.out.println(ob.getUserId());输出:0
System.out.println(ob.getOrderDate());输出:null
System.out.println(ob.getPayMode());输出:null
System.out.println(ob.getIsPayed());输出:null
System.out.println(ob.getTotalPrice());输出:0.0
System.out.println("我是分割线一号线---------------------");
怀疑是数据异常或转换异常,但是系统没有报错。而我也指定泛型类型了。这个~~百思不得其解啊~~
不指定泛型也是同样结果!
不用arraylist存,改用vector来,结果还是一样~~求解答求帮助~~ !!
解决方案 »
- hibernate映射mysql数据类型varchar为longtext,请教为什么
- 新人问个问题(急)
- 什么是接口啊!接口相对于类的的优点!说的容易懂点好吗?
- spring 配置问题
- tomcat 错误 严重: Error loading WebappClassLoader
- HIBERNATE 多对多问题!
- linux jdbc mysql 连接出错 !!急
- mybatis无法操作数据库
- 如何去掉文本文件流开头的空格?
- compile error: no such field: name启动报错,怎么解决?
- 同志们谁有jive和pet store源代码
- hibernate many-to-many list 中 index问题?
ob.setOrdersId(rs.getLong(1));
ob.setUserId(rs.getLong(2));
ob.setOrderDate(rs.getDate(3));
ob.setPayMode(rs.getString(4));
ob.setIsPayed(rs.getByte(5));
ob.setTotalPrice(rs.getFloat(6));中的 rs 是哪里来的?
在model层,我有一个函数:
public ArrayList getAllOrder()
{
//这里面就是查询数据,连接数据库,返回结果集rs
//然后将查到的结果集rs放入到我的一个OrderBean对象ob中
//然后再把ob对象,放入到arraylist中,
//就是这样嘛:Arraylist al=new Arraylist(); al.add(ub);这里已经是放进去了。
//最后return 这个arraylist
}
然后在control层这里,就是servlet这里,
我调用我的方法getAllOrder()
用一个arraylist来接收,之后我再从这个arraylist中取出数据,就变成我上面所说的那些。
rs就是查询数据库返回的结果集ResultSet对象~~
这个我不太懂,或许你存在这样个问题,你是说我的那个bean的类里应该实现Serializable序列化接口?能具体讲讲吗?
我相信你后来取的不是之前存进去的对象
能把这个ArrayList传递的过程贴出来吗
取出的对象这个保证是对的,我100%确定。这个传递过程也很简单的,数据查询到返回al对象,在servlet中取出al对象。就这么简单
你把那个方法和servlet里面的处理都贴出来看看