如何调用这个类中的连接方法?请写出代码
package javaapplication2;/**
*
* @author Administrator
*/import java.sql.*;public class Conn
{ String sDBDriver;
Connection connect;
Statement stmt;
ResultSet rs;
String URL;
String user;
String password; public Conn()
{
sDBDriver = "oracle.jdbc.driver.OracleDriver";
connect = null;
stmt = null;
rs = null;
URL = "jdbc:oracle:thin:@17.1.2.235:1521:ODSDEV";
user = "odsdev";
password = "odsdev";
try
{
Class.forName(sDBDriver);
}
catch(ClassNotFoundException classnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}
} public ResultSet executeQuery(String s)
{
try
{
connect = DriverManager.getConnection(URL, user, password);
stmt = connect.createStatement();
rs = stmt.executeQuery(s);
}
catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
return rs;
} public void endconn()
{
try
{
stmt.close();
connect.close();
}
catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
} public String callprocedure(String s)
{
try
{
connect = DriverManager.getConnection(URL, user, password);
String s1 = s;
CallableStatement callablestatement = connect.prepareCall(s1);
callablestatement.executeUpdate();
connect.close();
}
catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
return "ok boy";
}
}
package javaapplication2;/**
*
* @author Administrator
*/import java.sql.*;public class Conn
{ String sDBDriver;
Connection connect;
Statement stmt;
ResultSet rs;
String URL;
String user;
String password; public Conn()
{
sDBDriver = "oracle.jdbc.driver.OracleDriver";
connect = null;
stmt = null;
rs = null;
URL = "jdbc:oracle:thin:@17.1.2.235:1521:ODSDEV";
user = "odsdev";
password = "odsdev";
try
{
Class.forName(sDBDriver);
}
catch(ClassNotFoundException classnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}
} public ResultSet executeQuery(String s)
{
try
{
connect = DriverManager.getConnection(URL, user, password);
stmt = connect.createStatement();
rs = stmt.executeQuery(s);
}
catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
return rs;
} public void endconn()
{
try
{
stmt.close();
connect.close();
}
catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
} public String callprocedure(String s)
{
try
{
connect = DriverManager.getConnection(URL, user, password);
String s1 = s;
CallableStatement callablestatement = connect.prepareCall(s1);
callablestatement.executeUpdate();
connect.close();
}
catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
return "ok boy";
}
}
ResultSet rs = co.executeQuery(...);//...填sql
//处理rs,略
co.endconn();
ResultSet rs = co.executeQuery(...);//...填sql,执行前自动会连接
//处理rs,略
co.endconn();
sDBDriver = "oracle.jdbc.driver.OracleDriver";
connect = null;
stmt = null;
rs = null;
URL = "jdbc:oracle:thin:@17.1.2.235:1521:ODSDEV";
user = "odsdev";
password = "odsdev";
try
{
Class.forName(sDBDriver);
}
catch(ClassNotFoundException classnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}
被放入了构造器中,当实例化这个类时,上面的代码就会执行;
如果你要单独调用上面的代码,你这个类不能那么做;
如果你需要连接数据库操作,可以在该类中下面再创建个方法,
把你要做的操作写在这个方法中,再在你需要的地方调用该方法。
ResultSet rs = co.executeQuery(...);
co.endconn();
连接这个东西单独拿出来,比如getConn()
里面的内容是,假如第一次连接就创建,不是第一次,就返回上次实例化的~
所谓的单态