jdbc mysql 偶发空指针,java jdbc与mysql为什么连接不上并且抛出空指针异常? - 贪吃蛇学院-专业IT技术平台...

jdbc连接代码:

public class ConnDB{

Connection conn=null;

Statement stmt=null;

ResultSet rs=null;

public ConnDB(){

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(java.lang.ClassNotFoundException e){

System.err.println(e.getMessage());

}

}

/***************************************************

*method name: executeQuery()

*功能:执行查询操作

*return value: ResultSet

* @throws ClassNotFoundException

****************************************************/

public ResultSet executeQuery(String sql) {

try{

// conn=getConnection();

// Class.forName("com.mysql.jdbc.Driver");

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/database?user=root&password=root&useUnicode=true");

//JDBConnection connection=new JDBConnection();

//conn=connection.getConnection();

stmt=conn.createStatement();

rs=stmt.executeQuery(sql);

}catch(Exception ex){

System.err.println(ex.getMessage());

}finally{}

return rs;

}

/***************************************************

*method name: close()

*功能:关闭数据库链接

*return value: void

****************************************************/

public void close(){

try {

if (rs != null) rs.close();

}

catch (Exception e) {

e.printStackTrace(System.err);

}finally{

try {

if (stmt != null) stmt.close();

}

catch (Exception e) {

e.printStackTrace(System.err);

}finally{

try {

if (conn != null) {

conn.close();

}

}

catch (Exception e) {

e.printStackTrace(System.err);

}

}

}

}

}

查询代码:

public int checkManager(String name,String inpwd) {

int flag = 0;

ConnDB conn=new ConnDB();

String sql = "SELECT * FROM admin where username='" +name + "'";

System.out.println(sql);

ResultSet rs = conn.executeQuery(sql);

try {

if (rs.next()) {

String pwd = inpwd;

if (pwd.equals(rs.getString(3))) {

flag = 1;

rs.last();

int rowSum = rs.getRow();

rs.first();

if (rowSum != 1) {

flag = 0;

System.out.print("获取的row的值:" + sql + rowSum);

}

} else {

flag = 0;

}

}else{

flag = 0;

}

} catch (SQLException ex) {

flag = 0;

}

// ConnDB.close(rs, st, conn);

conn.close();

return flag;

}

在 if (rs.next()) 处报空指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值