空指针异常怎么解决,刚学java求指点

J2EE 码拜 8年前 (2017-04-19) 1815次浏览
package com.db;
import com.bean.CardBean;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class CardDB{
private String dbDriver = “com.mysql.jdbc.Driver”;
private String dbUrl = “jdbc:mysql://localhost:3306/telcard?characterEncoding=utf8″;
private String dbUser =”root”;
private String dbPass =”123456″;
private Connection getDBConn(){
Connection conn = null;
try {
Class.forName(dbDriver);
conn = DriverManager.getConnection(dbUrl,dbUser,dbPass);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public int addOneCard(CardBean card) {
int i = 0;
String sql = “insert into card values(?,?,?,?)”;
Connection conn = getDBConn();
try {
PreparedStatement preStmt = conn.prepareStatement(sql);
preStmt.setString(1, card.getCardId());
preStmt.setString(2, card.getCardType());
preStmt.setString(3, card.getMoney());
preStmt.setString(4, card.getCardArea());
i = preStmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
public int deleteOneCard(String cardID) {
int i = 0;
String sql = “delete from card where CardID=””+cardID+”””;
Connection cnn = getDBConn();
try {
Statement stmt = cnn.createStatement();
i = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
public int updateOneCard(CardBean card) {
int i = 0;
String sql = “update card set CardType=?,Money=?,CardArea=? where CardID=””
+ card.getCardId()+”””;
Connection cnn = getDBConn();
try {
PreparedStatement preStmt = cnn.prepareStatement(sql);
preStmt.setString(1, card.getCardType());
preStmt.setString(2, card.getMoney());
preStmt.setString(3, card.getCardArea());
i = preStmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
public List<CardBean> findCardById(String cardID) {
List<CardBean> cards = new ArrayList<CardBean>();
String sql = “select * from card where CardID like “%”+cardID+”%””;
Connection cnn =getDBConn();
try {
Statement stmt = cnn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
CardBean card = new CardBean();
card.setCardId(rs.getString(1));
card.setCardType(rs.getString(2));
card.setMoney(nullToString(rs.getString(3)));
card.setCardArea(nullToString(rs.getString(4)));
cards.add(card);
}
} catch (SQLException e) {
e.printStackTrace();
}
return cards;
}
private String nullToString(Object obj ){
if(null == obj){
return “”;
}
return String.valueOf(obj);
}
}
空指针异常怎么解决,刚学java求指点
解决方案

40

line83:Statement stmt = cnn.createStatement();报空指针异常,是cnn对象为null,
conn = DriverManager.getConnection(dbUrl,dbUser,dbPass);
看下数据库链接字符串,用户名,密码能否都正确

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明空指针异常怎么解决,刚学java求指点
喜欢 (0)
[1034331897@qq.com]
分享 (0)