下面是连接数据库的代码:
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/