各位前辈,我今天遇到一个比较怪异的问题:调试快的话是一种情况,调试慢的话又是另一种情况。代码如下:
/**
* 新增一条article信息
*/
public int addArticle(Article a) {
//建立连接
conn=oracleConn();
if(conn==null){
System.out.println("conn is null");
}
String sql="insert into article(id,pid,rootid,title,cont,pdate,isleaf) values(?,?,?,?,?,null,0);";
int isSuc=-1;//1表示成功;
try {
ps=conn.prepareStatement(sql);
ps.setInt(1, getNewArticleId());
if(a==null){
System.out.println("a is null");
}
if(ps==null){
System.out.println("ps is null");
}
ps.setInt(2, a.getPid());
ps.setInt(3, a.getRootid());
ps.setString(4, a.getTitle());
ps.setString(5, a.getContent());
isSuc=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
closeAll();
ps=null;//及时释放资源
conn=null;
}
return isSuc;
}
package com.dao;import java.sql.*;/**
* 数据库连接类
* @author Bob
*
*/
public class Base {
public static final String ORACLEDRIVER="oracle.jdbc.driver.OracleDriver";
public static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";
public static final String USER="scott";
public static final String PWD="tiger";
public static Connection conn=null;
public static PreparedStatement ps=null;
public static ResultSet rs=null;
/**
* oracle数据库连接
* @return 连接对象
*/
public static Connection oracleConn(){
Connection connection=null;
try {
//1.加载oracle驱动
Class.forName(ORACLEDRIVER);
//2.建立连接
connection=DriverManager.getConnection(URL,USER,PWD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();
}
return connection;
}
/**
* 关闭所有的连接
*/
public static void closeAll(){
try {
if (rs!=null) {
rs.close();
rs=null;
}
if(ps!=null){
ps.close();
ps=null;
}
if(conn!=null){
conn.close();
conn=null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如果调试快的话,打印出来的是“ps is null”;调试快的话,打印出来的是“conn is null”;希望各位钱别多多指教!java
/**
* 新增一条article信息
*/
public int addArticle(Article a) {
//建立连接
conn=oracleConn();
if(conn==null){
System.out.println("conn is null");
}
String sql="insert into article(id,pid,rootid,title,cont,pdate,isleaf) values(?,?,?,?,?,null,0);";
int isSuc=-1;//1表示成功;
try {
ps=conn.prepareStatement(sql);
ps.setInt(1, getNewArticleId());
if(a==null){
System.out.println("a is null");
}
if(ps==null){
System.out.println("ps is null");
}
ps.setInt(2, a.getPid());
ps.setInt(3, a.getRootid());
ps.setString(4, a.getTitle());
ps.setString(5, a.getContent());
isSuc=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
closeAll();
ps=null;//及时释放资源
conn=null;
}
return isSuc;
}
package com.dao;import java.sql.*;/**
* 数据库连接类
* @author Bob
*
*/
public class Base {
public static final String ORACLEDRIVER="oracle.jdbc.driver.OracleDriver";
public static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";
public static final String USER="scott";
public static final String PWD="tiger";
public static Connection conn=null;
public static PreparedStatement ps=null;
public static ResultSet rs=null;
/**
* oracle数据库连接
* @return 连接对象
*/
public static Connection oracleConn(){
Connection connection=null;
try {
//1.加载oracle驱动
Class.forName(ORACLEDRIVER);
//2.建立连接
connection=DriverManager.getConnection(URL,USER,PWD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();
}
return connection;
}
/**
* 关闭所有的连接
*/
public static void closeAll(){
try {
if (rs!=null) {
rs.close();
rs=null;
}
if(ps!=null){
ps.close();
ps=null;
}
if(conn!=null){
conn.close();
conn=null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如果调试快的话,打印出来的是“ps is null”;调试快的话,打印出来的是“conn is null”;希望各位钱别多多指教!java
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货