【问题标题】:Java to MySQL connection errorJava 到 MySQL 连接错误
【发布时间】:2015-08-28 17:00:05
【问题描述】:

我对编程还是比较陌生,这是我第一次尝试使用数据库创建程序。我在 PhpMyAdmin 中创建了数据库。用于访问数据库的两个类之间没有错误,但它不打印所需的信息。只是想知道是否有比我更有经验的人可以看到我哪里出错了。谢谢

Main方法如下:

public class Main {
    public static void main(String[] args) {
        DBConnect connect = new DBConnect();
        connect.getData();
    }
}

那么DBConnect方法如下:

import java.sql.*;

public class DBConnect {
    private Connection con;
    private Statement st;
    private ResultSet rs;

    public DBConnect(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:8080/software","root","usbw");
            st = con.createStatement();
        }catch(Exception ex){
            System.out.println("Error:" + ex);
        }
    }

    public void getData(){
        try{
            String query="select from * football";
            rs = st.executeQuery(query);
            System.out.print("Records from the database");
            while(rs.next()){
                String name = rs.getString("Name");
                System.out.print("Name: "+name+" ");
            }
        }catch(Exception ex){
            System.out.println(ex);
        }
    }
}

如果有人能看出问题出在哪里或有任何其他建议,将不胜感激

再次感谢

【问题讨论】:

    标签: java mysql database jdbc


    【解决方案1】:

    您的查询不正确

    从*足球中选择

    应该是

    从足球中选择 *

    同时检查,你有正确的 mysql 端口。我猜应该是3306,而不是8080。

    试试这个:

    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/software", "root", "usbw");
        Statement st = con.createStatement();
        String query="select * from football";
        ResultSet rs = st.executeQuery(query);
        System.out.print("Records from the database");
        while(rs.next()){
            String name = rs.getString("Name");
            System.out.print("Name: "+name+" ");
        }
    }
    

    【讨论】:

      【解决方案2】:

      你的SQL语句是select from * football,应该是select * from football

      另外,你是用8080端口连接mysql的,对吗?? MySQL一般监听3306端口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-05
        • 2016-02-12
        • 2014-06-20
        • 1970-01-01
        • 2016-03-07
        • 2018-12-18
        • 1970-01-01
        相关资源
        最近更新 更多