如果我有jdbc:mysql:// localhost:3306,我会在Class.forName中写什么

时间:2014-11-14 06:53:51

标签: java mysql

我只是Java的新手,我很难连接数据库。 谢谢你的帮助

我尝试了德比,但我的数据库使用xampp在mysql中。

 Statement stmnt;
  ResultSet rs;
    try{
       String host = "jdbc:derby://localhost:3306/population";
       String uName= "root";
       String uPass="root";
       Connection con = DriverManager.getConnection(host, uName, uPass);
       //execute some sql and load into the result set
       stmnt = con.createStatement();
       String sql = "SELECT * FROM users_admin";
       rs = stmnt.executeQuery(sql);
       //move the cursor the first record and get the data
       rs.next();
       int id = rs.getInt("admin_id");
       String id_admin = Integer.toString(id);
       String username=rs.getString("username");
       String pwd = rs.getString("password");

       ta_user.setText(username);
       ta_pwd.setText(pwd);
       ta_id.setText(id_admin);


   }
    catch( SQLException err ){
        System.out.println( err.getMessage());
    } 

我已经尝试过了,我的其他示例项目中的代码显示错误:

java.net.ConnectException:在端口3306上连接到服务器localhost时出错,并显示消息Connection refused:connect。

2 个答案:

答案 0 :(得分:2)

好消息!您不需要Class.forName并且您的JDBC驱动程序已成功加载。现在你需要一个mysql服务器,或者derby服务器你在问题中使用两个不同的jdbc url,监听端口3306连接。

答案 1 :(得分:0)

你不需要它。 Connection refused表示您的驱动程序运行正常,并且您的MySQL或Derby数据库服务器(您的标题和问题中的任何一个相互矛盾的URL都不相信)不会在localhost上启动,甚至可能安装