java - 在 mac os mavericks 上将 mySQL 连接到 java netbeans 时出错

标签 java mysql swing netbeans database-connection

下面是连接数据库的代码:

 public void database()

 {

  String temp="";

  Connection conn = null;

  PreparedStatement preparedStatement = null;


ResultSet resultSet = null;

Statement statement=null;
    try {

               String url = "jdbc:mysql://127.0.0.1:3306/golf";

       Class.forName ("oracle.jdbc.driver.OracleDriver");

       conn = DriverManager.getConnection (url,"root","");

        if (!conn.isClosed())
        {
            statement = conn.createStatement ( );
                            resultSet = statement.executeQuery("select * from golfdb");
                            writeResultSet(resultSet);
            statement.close(); 
        }
    }
    catch (Exception e)
    {

                System.err.println("Exception: " + e.getMessage());}

    finally
    {
        try
        {
            if (conn != null)
            {conn.close();}
        }
        catch (SQLException e)
        {}
    }
}

这是我在运行程序时收到的错误:

Exception: oracle.jdbc.driver.OracleDriver

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0

    at java.util.Vector.elementAt(Vector.java:427)

    at 

javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)

    at golf.addeditpoints(golf.java:220)

    at golf$17.actionPerformed(golf.java:728)

    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)

    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)

    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

    at 
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

    at java.awt.Component.processMouseEvent(Component.java:6414)

    at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)

    at java.awt.Component.processEvent(Component.java:6179)

    at java.awt.Container.processEvent(Container.java:2084)

    at java.awt.Component.dispatchEventImpl(Component.java:4776)

    at java.awt.Container.dispatchEventImpl(Container.java:2142)

    at java.awt.Component.dispatchEvent(Component.java:4604)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)

    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209)

    at java.awt.Container.dispatchEventImpl(Container.java:2128)

    at java.awt.Window.dispatchEventImpl(Window.java:2492)

    at java.awt.Component.dispatchEvent(Component.java:4604)

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)

    at java.awt.EventQueue.access$400(EventQueue.java:82)

    at java.awt.EventQueue$2.run(EventQueue.java:676)

    at java.awt.EventQueue$2.run(EventQueue.java:674)

    at java.security.AccessController.doPrivileged(Native Method)

    at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)

    at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)

    at java.awt.EventQueue$3.run(EventQueue.java:690)

    at java.awt.EventQueue$3.run(EventQueue.java:688)

    at java.security.AccessController.doPrivileged(Native Method)

    at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

最佳答案

您正在尝试使用 Oracle 驱动程序连接到 MYSQL。 你应该改用这个:

Class.forName("com.mysql.jdbc.Driver");

当然你必须先得到这个驱动程序的jar。 有教程不错here .

关于java - 在 mac os mavericks 上将 mySQL 连接到 java netbeans 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21128589/

相关文章:

java - Hibernate:不区分大小写的搜索不适用于特殊字符

java - Spark Java - 无法获取 java.lang.String 的正确类标签

javascript - 如何使用 jQuery 删除 HTML 行然后更新到数据库?

java - 向多个 JLabel 添加鼠标监听器

java - 如果可能,将 jFrame 输出到第二台显示器

Java 跨平台 Swing 外观

java - 为什么我的 if-else 中的任何内容都不起作用?

java - JapserReport 中的覆盖页码未反射(reflect)在最终 PDF 中

PHP如何保护数据库中的信息

php - 我应该使用更受约束的 SQL 查询还是在代码中处理结果集?