这是我正在使用的代码,用于连接到mysql数据库。
我收到此错误:类型不匹配:无法从java.sql.statement转换为com.mysql.jdbc.Statement
行:Statement getData = con.createStatement(); //错误
我是否有课程加载问题?
//connect to database
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Date;
import com.mysql.jdbc.Statement;
public class dbconn {
public static void main(String args[]) {
String username = "username";
String password = "password";
String url = "jdbc:mysql://localhost:3306/Databasename";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(url, username, password);
Statement getData=con.createStatement(); //ERROR HERE
ResultSet rs = getData.executeQuery("select * from MY_TABLE_NAME");
while(rs.next())
System.out.println(rs.getDate(1));
con.close();
}catch(Exception e) {System.out.println(e);}
}
}
答案 0 :(得分:0)
本声明:
Statement getData = con.createStatement();
将无法编译,因为createStatement()
的签名表示它返回java.sql.Statement
。但您已导入com.mysql.jdbc.Statement
,这意味着Statement
表示 com.mysql.jdbc.Statement
。
解决方案:
import
声明(首选!!)。Statement
。这种方法很有效,但是你正在进行不必要的运行时类型检查(可能会失败!)如果你将JDBC驱动程序更改为其他供应商的话,代码将中断。课程: