a详细意外信息如下:
java.lang.NullPointerException
at afu.dao.FoodDAO.createFoodVO(FoodDAO.java33)
public FoodVO createFoodVO(String foodName,String factory)
{
try
{
conn = DBConnect.getConnection();
System.out.println(" con = DBConnect.getConnection() ed");
prop.load(DBConnect.class.getResourceAsStream("sqlkey.properties"));**********
System.out.println("prop.load sqlkey.properties ed");
if(prop.containsKey("foodDao.selectByfoodName"))
{
System.out.println("if prop.containsKey true");
String sql = prop.getProperty("foodDao.selectByfoodName");
System.out.println("porp.getProperty foodDao.selectByfoodName");
pst = conn.prepareStatement(sql);
}
res = pst.executeQuery();
foodVO = new FoodVO(res.getString(1),res.getFloat(2),res.getString(3),res.getString(4));
}
catch(Exception e)
{
e.printStackTrace();
}
}
就在我用*******表示的那行出现以上意外。
sqlkey.properties 文件肯定是存在的
奇怪的是在DBConnect.getConnection()方法里
有一句
prop.load(DBConnect.class.getResourceAsStream("connectString.properties"));
执行它时却没有意外发生。我用
prop.load(DBConnect.class.getResourceAsStream("connectString.properties"));
替换了******表示的那一行,可仍然出现同样的意外。可见意外的原因应该和sqlkey.properties文件没关系。
java.lang.NullPointerException
at afu.dao.FoodDAO.createFoodVO(FoodDAO.java33)
public FoodVO createFoodVO(String foodName,String factory)
{
try
{
conn = DBConnect.getConnection();
System.out.println(" con = DBConnect.getConnection() ed");
prop.load(DBConnect.class.getResourceAsStream("sqlkey.properties"));**********
System.out.println("prop.load sqlkey.properties ed");
if(prop.containsKey("foodDao.selectByfoodName"))
{
System.out.println("if prop.containsKey true");
String sql = prop.getProperty("foodDao.selectByfoodName");
System.out.println("porp.getProperty foodDao.selectByfoodName");
pst = conn.prepareStatement(sql);
}
res = pst.executeQuery();
foodVO = new FoodVO(res.getString(1),res.getFloat(2),res.getString(3),res.getString(4));
}
catch(Exception e)
{
e.printStackTrace();
}
}
就在我用*******表示的那行出现以上意外。
sqlkey.properties 文件肯定是存在的
奇怪的是在DBConnect.getConnection()方法里
有一句
prop.load(DBConnect.class.getResourceAsStream("connectString.properties"));
执行它时却没有意外发生。我用
prop.load(DBConnect.class.getResourceAsStream("connectString.properties"));
替换了******表示的那一行,可仍然出现同样的意外。可见意外的原因应该和sqlkey.properties文件没关系。
比如:
TestDAO t=null;//没有实例化
int cou=t.getCount();
最好和你的类在同一个包下面
prop 是个Properties()对象.
设断点,察看一下里面的值,谁的值是null,问题基本上就是它引起的。
就是在关键代码后加 Systeml.out.println(" ");调试的
设断点不起作用吧