我有一个工作正常的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是一个问题,它应该不在第一个位置(在原始类中)。请告诉我我错过了什么。 感谢。
答案 0 :(得分:1)
第二个示例中的方法conn
必须表明throws SQLException
和ClassNotFoundException
与第一个类中的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