我是java的新手。我在java上做一个程序,在eclipse上实现连接器j插件。我完成安装后。我测试了数据库连接。以下代码用于测试连接。
import javax.swing.JOptionPane;
import java.sql.*;
public class JDBCProgram{
static String userid="root", password = "devkbsc";
static String url = "jdbc:mysql://localhost:3306/nejagar";
// String url = "jdbc:mysql://localhost:3306/nejagar"; ?
static Statement stmt;
static Connection con;
public static void main(String args[]){
JOptionPane.showMessageDialog(null,"JDBC Programming showing Creation of Table's");
int choice = -1;
do{
choice = getChoice();
if (choice != 0){
getSelected(choice);
}
}
while ( choice != 0);
System.exit(0);
}
public static int getChoice()
{
String choice;
int ch;
choice = JOptionPane.showInputDialog(null,
"1. Create Employees Table\n"+
"2. Create Products Table\n"+
"0. Exit\n\n"+
"Enter your choice");
ch = Integer.parseInt(choice);
return ch;
}
public static void getSelected(int choice){
if(choice==1){
createEmployees();
}
if(choice==2){
createOrders();
}
}
public static Connection getConnection()
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //Class.forName("myDriver.ClassName"); ?
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection(url,
userid, password);
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
return con;
}
/*CREATE TABLE Employees (
Employee_ID INTEGER,
Name VARCHAR(30)
);*/
public static void createEmployees()
{
Connection con = getConnection();
String createString;
createString = "create table Employees (" +
"Employee_ID INTEGER, " +
"Name VARCHAR(30))";
try {
stmt = con.createStatement();
stmt.executeUpdate(createString);
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}JOptionPane.showMessageDialog(null,"Employees Table Created");
}
/*CREATE TABLE Orders (
Prod_ID INTEGER,
ProductName VARCHAR(20),
Employee_ID INTEGER
);*/
public static void createOrders()
{
Connection con = getConnection();
String createString;
createString = "create table Orders (" +
"Prod_ID INTEGER, " +
"ProductName VARCHAR(20), "+
"Employee_ID INTEGER )";
try {
stmt = con.createStatement();
stmt.executeUpdate(createString);
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
JOptionPane.showMessageDialog(null,"Orders Table Created");
}
当我执行时,我在控制台上找到了这个
ConnectionProperties>
<PropertyCategory name="Connection/Authentication">
<Property name="user" required="No" default="" sortOrder="-2147483647" since="all versions">
The user to connect as
</Property>
<Property name="password" required="No" default="" sortOrder="-2147483646" since="all versions">
The password to use when connecting
</Property>
真的,我不知道我错在哪里。请帮忙
答案 0 :(得分:2)
要使用MySQL Connector / J,您应该替换
行Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
与
Class.forName("com.mysql.jdbc.Driver");
如果你还没有这样做,你还需要确保MySQL Connector / J jar,其名称类似于mysql-connector-java-5.1.18-bin.jar
,位于项目的构建路径上,否则你将会得到一个ClassNotFoundException。