- 目的
在用 Junit 测试方法时,我想将数据库查询到的数据封装成一个对象,于是写了两个@Test
方法,一个是获取数据的方法 select()
,另一个是将结果封装成对象的方法 toStudent()
;
- 实现
为了让 toStudent()
可以调用到 select()
获取到的结果集,我将结果集 query
设为了私有属性;
- 结果
但是在运行完 select()
方法后,运行 toStudent()
时,报了 NullPointerException 的错;
- 归因
写了一个测试方法输出属性的值,结果为null
。
- 结论
为什么属性的值为空
@Test`方法彼此独立,并没有对属性进行实际操作
理解有限,望大家不吝赐教,感激不尽
如有错误,请批评指正。
- 源码如下
public class StudentTable {
private ResultSet query;
/**
*
* 封装一个方法,可以返回一个List<Student>对象
* 里面是把查询的结果封装成的Student对象
*
* @throws SQLException
*/
@Test
public void select() throws SQLException {
// 使用封装好的ConnectionTool类,注册驱动and获取连接
Connection connection = ConnectionTool.