我的ConnDb类中有这么个方法
public Connection msSql2000()
{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://"+ipadd+":"+port+";databaseName="+dbname;
System.out.println(url);
Connection conn = DriverManager.getConnection(
url,
username, pwd);
System.out.println(conn);
return conn;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}我在action中实例化这个对象,然后执行这个方法,Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
会报
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver但是我已经引入了sql2000的驱动,而且我直接在ConnDb这个类中写个main函数来执行这个方法,就可以执行IDE是myelipse
public Connection msSql2000()
{
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://"+ipadd+":"+port+";databaseName="+dbname;
System.out.println(url);
Connection conn = DriverManager.getConnection(
url,
username, pwd);
System.out.println(conn);
return conn;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}我在action中实例化这个对象,然后执行这个方法,Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
会报
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver但是我已经引入了sql2000的驱动,而且我直接在ConnDb这个类中写个main函数来执行这个方法,就可以执行IDE是myelipse
System.out.print(connDb.chooseDB());
if(connDb.chooseDB()!=null)
{
return mapping.findForward("oktest");
}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
public class DB {
Connection connect=null;
ResultSet rs=null;
private static String dbDriver="org.gjt.mm.mysql.Driver";
private static String url="jdbc:mysql://localhost/test";
private static String user="root";
private static String password="123456";
public DB(){
try{
Class.forName(dbDriver);//设置驱动程序类型
}catch(java.lang.ClassNotFoundException e){
e.printStackTrace();
}
}
//执行查询语句的方法
public ResultSet executeQuery(String sql){
try{
connect=DriverManager.getConnection(url,user,password);//建立与数据库服务器的连接
Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
return rs;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}
//TYPE_FORWARD_ONLY 表示光标只能向前移动。
//TYPE_SCROLL_INSENSITIVE 表示可以在记录之间移动,但对(其他ResultSet 引起的)记录改变不敏感
//TYPE_SCROLL_SENSITIVE 表示可以在记录之间移动,但对(其他ResultSet 引起的)记录改变敏感//执行增、删改语句的方法
public int executeUpdate(String sql){
int result = 0;
try{
connect=DriverManager.getConnection(url,user,password);
connect.setAutoCommit(false);//改变提交的方法
Statement stmt=connect.createStatement();
result=stmt.executeUpdate(sql);
connect.commit();//事务提交
return result;
}catch(SQLException e){
try {
connect.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//事务回滚
e.printStackTrace();
return 0;
}
}
//关闭数据库连接的方法
public void close(){
if(connect!=null){
try{
connect.close();
connect = null;
}catch(SQLException ex) {
System.err.println(ex.getMessage());
}
}
}
}这是以前看到的一个JDBC的连接类,你可以试着调用下,如果你有分层的话,DAO中的类可以继承这个类,就可以使用里面的方法
如果你直接写在ACTION中,你可以把上面的这个类写一个接口,你在继承这个接口的方法,这个是比较简单的