数据库连接偶尔报空指针

zk8821088 2020-10-28 03:17:43
进入首页的时候偶尔会报空指针错误,网上查了一下虽然知道是数据库连接问题,但是不知道如何解决。首页需要多次查询数据库得出不同表的数据到页面呈现,其他单次查询的页面就不会报这样的错。有人指导一下么



servlet:


dao(其他一样我就贴一段):


数据库连接工具:
public class DBUtil {
private static Connection conn;
private static Statement stmt;
private static PreparedStatement pstmt ;
private static DBUtil instance = new DBUtil();
private DBUtil() {}

static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static DBUtil getInstance() {
return instance;
}

public static Connection getConnection() {
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xchcxxgl", "root", "a+123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}

public Statement getStatement() {
Connection conn = getConnection();
try {
if(conn != null) {
stmt = conn.createStatement();
}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stmt;
}

public static PreparedStatement getPreparedStatement(String sql) {
Connection conn = getConnection();
try {
if(conn != null) {
pstmt = conn.prepareStatement(sql);
}
}catch(SQLException e) {
e.printStackTrace();
}
return pstmt;
}

public static void closeDBResources() {
try {
if(pstmt != null && !pstmt.isClosed()) {
pstmt.close();
}
if(stmt != null && !stmt.isClosed()) {
stmt.close();
}
if(conn != null && !conn.isClosed()) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}
...全文
302 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zk8821088 2020-10-28
  • 打赏
  • 举报
回复
这次刚好是你说的rs.getInt()报错,但是下一次就可能是另外一个rs.getString报错,位置不固定的,报错也不是每次都有
老紫竹 2020-10-28
  • 打赏
  • 举报
回复
错误就是那个getInt("field")报错出来的吧。 这个,如果这个字段不存在,或者里面的值不是数字,会返回什么呢? 不可能返回0吧, 建议:将这个getInt改成 getString ,你仔细看看到底是啥吧。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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