错误提示:Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
import javax.swing.*;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class DAO {
private Connection conn =null;
private Statement st = null;
public void add(yg k) {
String sql = "insert into stuinfo values(" + k.getYgname() + "','" + k.getYgno() + "','" + k.getYgnumber() + ")";
try {
st.executeUpdate(sql);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "输入的信息格式有误!添加失败!", "提示信息", 2);
}
}
}
https://www.cnblogs.com/zijeak/p/10956410.html
java.lang.NullPointerException错误来自于尝试对null对象执行操作,发生在数据库连接时通常是没连接到,但是又以为有的时候对connect进行操作时报出,但是题主给的报错片段不够多,不知道是不是
这边是我自己用原装包装的代码,希望能帮上你的忙
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
* @auth huyi
* @date 2020/06/24 14:10
* @Description
*/
public class MysqlUtil {
private static Connection conn;
private final static String BASICURL = "jdbc:mysql://";
private final static String driver = "com.mysql.cj.jdbc.Driver";
private static PreparedStatement psql;
static Statement statement;
public static void getConn(String url,String user,String password){
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
try {
Class.forName(driver);
conn = DriverManager.getConnection(BASICURL+url,user,password);
}catch(ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
synchronized public static Map<String, ArrayList<Object>> getSelect(String sql, Object... objects) throws SQLException{
if(conn!=null) {
psql = conn.prepareStatement(sql);
for (int i = 0; i < objects.length; i++) {
psql.setObject(i + 1, objects[i]);
}
ResultSet rs = psql.executeQuery();
Map<String, ArrayList<Object>> map = new HashMap<>();
if (rs.getMetaData() != null)
try {
while (rs.next()) {
for (int j = 0; j < rs.getMetaData().getColumnCount(); j++) {
if (rs.isFirst()) {
ArrayList<Object> list = new ArrayList<>();
try {
list.add(rs.getObject(j + 1));
} catch (SQLException e) {
list.add(null);
}
map.put(rs.getMetaData().getColumnLabel(j + 1), list);
} else {
try {
map.get(rs.getMetaData().getColumnLabel(j + 1)).add(rs.getObject(j + 1));
} catch (SQLException e) {
map.get(rs.getMetaData().getColumnLabel(j + 1)).add(null);
}
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
rs.close();
return map;
}
return null;
}
synchronized public static void update(String sql, Object... objects){
if(conn!=null) {
try {
psql = conn.prepareStatement(sql);
for (int i = 0; i < objects.length; i++) {
psql.setObject(i + 1, objects[i]);
}
psql.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
@Override
protected void finalize() throws Throwable {
if(conn!=null)
conn.close();
super.finalize();
}
}