当前位置: 代码迷 >> J2EE >> pstmt=conn.prepareStatement(sql)空指针错误,求大神支招
  详细解决方案

pstmt=conn.prepareStatement(sql)空指针错误,求大神支招

热度:677   发布时间:2016-04-21 23:32:15.0
pstmt=conn.prepareStatement(sql)空指针异常,求大神支招
本帖最后由 yjjy0921 于 2013-03-28 19:42:53 编辑

package com.cw.util;

import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import org.junit.Test;
public class DBUtil {

@Test
// 1.getConnenction 方法的封装
public static Connection getConnection() {
// 利用配置文件来读取数据库路径,用户名,密码
String url = null;
String dbUser = null;
String dbPwd = null;
Connection conn = null;
Properties pro = new Properties();

try {
FileInputStream fis=new FileInputStream(new File("src/db_mysql.properties"));
pro.load(fis); //读取配置文件中的键值对
url = pro.getProperty("url");
dbUser = pro.getProperty("dbUser");
dbPwd = pro.getProperty("dbPwd");
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, dbUser, dbPwd);
// 如果创建Connection成功则返回一个Connection对象
System.out.println(url+dbUser+dbPwd);

} catch (Exception e) {
// TODO: handle exception
}
return conn;

}

// 2.close() 方法的封装,关闭ResultSet,PreparedStatement,Connection
public static void close(ResultSet rs, Statement pstmt,
Connection conn) {

try {
if (rs != null) {
rs.close();
}

if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}




package com.cw.DAO.imp;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.cw.DAO.DogDAO;
import com.cw.entity.Dog;
import com.cw.util.DBUtil;

public class DogDAOImpl implements DogDAO{

public void deleteById(int id) {
// TODO Auto-generated method stub

}

public Dog findById(int id) {
// TODO Auto-generated method stub
return null;
}

public Dog findByName(String name) {
// TODO Auto-generated method stub
return null;
}

public List<Dog> findall() {
String sql="select * from dog";
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
//定义一个集合,存放数据库中信息
List<Dog> list=new ArrayList<Dog>();
//获取连接
conn=DBUtil.getConnection();
try {
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
Dog dog=new Dog();
dog.setName(rs.getString("name"));
dog.setAge(rs.getInt("age"));
dog.setSex(rs.getString("sex"));
  相关解决方案