Java mysql连接在第二类中失败

时间:2013-04-24 17:19:45

标签: java mysql

我有一个工作正常的java类(我的意思是mysql连接到sql是成功的)但是在同一个包中,我有另一个类。从我试图创建连接对象,然后打算使用连接用于各种目的。这是一个工作正常的类(我将函数名从public static void main(String [] args)更改为connect()。我真的不确定为什么连接不能从其他文件调用。

db.java

import java.sql.*;
import java.util.Properties;

public class db
{
  // The JDBC Connector Class.
  String dbClassName = "com.mysql.jdbc.Driver";

  // Connection string. emotherearth is the database the program
  // is connecting to. You can include user and password after this
  // by adding (say) ?user=paulr&password=paulr. Not recommended!

   String CONNECTION =
                          "jdbc:mysql://127.0.0.1/news";

  public Connection Connect() throws
                             ClassNotFoundException,SQLException
  {
    System.out.println(dbClassName);
    // Class.forName(xxx) loads the jdbc classes and
    // creates a drivermanager class factory
    Class.forName(dbClassName);

    // Properties for user and password. Here the user and password are both 'paulr'
    Properties p = new Properties();
    p.put("user","root");
    p.put("password","akshay");

    // Now try to connect
    Connection c = DriverManager.getConnection(CONNECTION,p);

    System.out.println("It works !");
    return c;
    }


}

从这个课程中我试图调用函数:

import java.sql.*;

public class findl {

    public static void main(String[] args)
    {
        System.out.println("hi");
    }   
    public Connection conn(){
        db dbs = new db();
        Connection clr = dbs.Connect();
        return clr;
            }

}

脚注:错误在线 Connections clr = dbs.connect()和eclipse说

 1)unhandled exception type sqlexception

 2)unhandled classnotfoundexception.

如果加载mysql.jar是一个问题,它应该不在第一个位置(在原始类中)。请告诉我我错过了什么。 感谢。

2 个答案:

答案 0 :(得分:1)

第二个示例中的方法conn必须表明throws SQLExceptionClassNotFoundException与第一个类中的public Connection Connect() throws ClassNotFoundException,SQLException一样。

这是你的问题:检查异常。

答案 1 :(得分:1)

使用此代替第二个文件

 import java.sql.*;

 public class findl {

  public static void main(String[] args)
        {
            System.out.println("hi");
        }   
try{
    public Connection conn(){
        db dbs = new db();
        Connection clr = dbs.Connect();
        return clr;
            }
}


 catch(SQLException s){}

catch(ClassNotFoundException e)     {

}

    }

标记try-catch

将此代码放在try-catch中并处理catch块中的sqlException