mysql - mysql 连接的 JDBC 驱动程序错误

标签 mysql eclipse jdbc

我想用简单的 jtextfield 绑定(bind) mysql 数据。所以我编写了如下代码:

public class SimpleForm extends JFrame implements ActionListener {
    private static final long serialVersionUID = 1L;
    Connection connection = null;
    Statement s = null;
    ResultSet rs;
    String tableName = "mytable";
    JTextField jtf1, jtf2;
    JButton jb;
    String selTable;
    public SimpleForm() {
        initComponents();
        DoConnect();
    }
    public void DoConnect() {
        try {
            connection = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/myschema", "root", "root");
            s = connection.createStatement();
            DatabaseMetaData dbm = connection.getMetaData();
            String[] types = { "TABLE" };
            rs = dbm.getTables(null, null, "%", types);
            selTable = "SELECT * FROM " + tableName;
        } catch (SQLException e) {
            System.out.println("Oops! Error occured..");
            e.printStackTrace();
        } finally {
            try {
                s.close();
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    private void initComponents() {
        JPanel jp = new JPanel(new FlowLayout());
        JLabel jl1 = new JLabel("ID");
        jtf1 = new JTextField();
        jtf1.addActionListener(this);
        JLabel jl2 = new JLabel("Name");
        jtf2 = new JTextField();
        jtf2.addActionListener(this);
        jb = new JButton("Next");
        jb.addActionListener(this);
        jp.add(jl1);
        jp.add(jtf1);
        jp.add(jl2);
        jp.add(jtf2);
        jp.add(jb);
        add(jp);
    }
    public void actionPerformed(ActionEvent e) {
        try {
            s.execute(selTable);
            rs = s.getResultSet();
            if ((rs != null) && (rs.next())) {
                rs.next();
                jtf1.setText(rs.getString(1));
                jtf2.setText(rs.getString(2));
            }
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    public static void main(String[] args) {
        new SimpleForm().setVisible(true);
    }
    }

我在 eclipse indigo 和 mysql 数据库中做这个。我已经在 lib 文件夹中导入了驱动程序的 jar 文件。我仍然遇到以下错误。

Oops! Error occured..
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/myschema
    at java.sql.DriverManager.getConnection(DriverManager.java:604)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at main.SimpleForm.DoConnect(SimpleForm.java:55)
    at main.SimpleForm.<init>(SimpleForm.java:46)
    at main.SimpleForm.main(SimpleForm.java:135)
Exception in thread "main" java.lang.NullPointerException
    at main.SimpleForm.DoConnect(SimpleForm.java:74)
    at main.SimpleForm.<init>(SimpleForm.java:46)
    at main.SimpleForm.main(SimpleForm.java:135)

所以请帮我解决这个问题。我真的不明白这个问题。

最佳答案

你应该试试这个:

-您必须使用构建路径在 eclipse 中为 mysql-connector.jar 设置类路径,并且还必须将 mysql-connector 放入 Web 应用程序的 WEB-INF 目录的 lib 文件夹中-(如果您正在开发任何网络应用程序)。

希望对你有帮助。

关于mysql - mysql 连接的 JDBC 驱动程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15813844/

相关文章:

java - 如何增加 java 内存(算法在 ubuntu 上运行,但在 mac 上运行;相同的机器配置)

php - 如何将 MySQL 数据库文件 (.sql) 转换为 PHP 中的 SQLite 文件?

mysql - 在 mysql 语句中使用 'as' 时出现未知列错误

mysql - 使用 MYSQL 选择表中重复两次的记录

eclipse - 加载 Gradle 项目预览失败

java - 如何在 JSP/Servlet 中重用数据库连接?

php - 自动填充动态生成的表单

java - 如何从 Eclipse 中的注释处理器加载类?

java - 如何在JAVA jdbc中运行SQL(MYSQL)存储过程?

java - 使用 JDBC 和 Oracle 序列化 ArrayList