1 配置
安装mysql:版本mysql-5.0.51b-win32;
安装jdbc connector,并将mysql-connector-java-5.1.2-beta-bin.jar路径添加到了path中,并拷贝到了jre\bin下面;
安装jre和jdk6,路径设置正确,添加了jre\bin进入路径;2 结果:
mysql下,可以建立、操作数据库,服务启动,安装应该已经成功;
且在mysql下已经建立数据库myDatabase;
jre和jdk安装应该成功,因为,可以运行别的程序,可以对我的普通java程序运行;3 问题
我的程序名字叫做JDBCDemo.java,javac JDBCDemo.java命令运行通过,但是在java JDBCDemo时出现错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: JDBCDemo
at java.lang.ClassLoader.DefineClass1<Native Method>
at java.lang.ClassLoader.DefineClass<Native Source>
at java.security.SecureClassLoader.DefineClass<Unknown Source>
at java.net.URLClassLoader.DefineClass<Native Source>
等等4 程序如下,一个基本的小程序,谢谢啦
import java.sql.*;public class JDBCDemo {
/*
*@param args
*/
public static void main(String[] args){
String user="root";
String password="12345678";
String URL="jdbc:mysql://localhost:3306/myDatabase";
String driver="com.mysql.jdbc.Driver";
String tableName="studinfo";
String sqlstr;
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(driver).newInstance();
con=DriverManager.getConnection(URL,user,password);
stmt=con.createStatement();
sqlstr="insert into"+tableName+"values('20000908','honey',21)";
stmt.executeUpdate(sqlstr);
sqlstr="select * from "+tableName;
rs=stmt.executeQuery(sqlstr);
System.out.println("已经运行到这儿了!");
ResultSetMetaData rsmd=rs.getMetaData();
int j=0;
j=rsmd.getColumnCount();
for(int k=0;k<j;k++){
System.out.print(rsmd.getCatalogName(k+1));
System.out.print("\t");
}
System.out.println();
while(rs.next()){
for(int i=0;i<j;i++){
System.out.println(rs.getString(i+1));
//System.out
}
}
}
catch(java.lang.InstantiationException e){
System.out.println("实例化没有成功!");
}
catch(java.lang.IllegalAccessException e){
System.out.println("illegal access");
}
catch(ClassNotFoundException e)
{
System.out.println("数据库驱动不存在!");
System.out.println(e.toString());
}
catch(SQLException e)
{
System.out.println("数据库存在异常!");
System.out.println(e.toString());
}
finally
{
try{
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(con!=null) con.close();
}
catch(SQLException e)
{
System.out.println("还是有错啊");
System.out.println(e.toString());
}
}
}
}
5 疑问
到底是什么问题呢?对于jdbc-connector的设置,参照了网上很多资料,没有看出来有什么问题啊?
还请大虾们给看看,谢谢了
安装mysql:版本mysql-5.0.51b-win32;
安装jdbc connector,并将mysql-connector-java-5.1.2-beta-bin.jar路径添加到了path中,并拷贝到了jre\bin下面;
安装jre和jdk6,路径设置正确,添加了jre\bin进入路径;2 结果:
mysql下,可以建立、操作数据库,服务启动,安装应该已经成功;
且在mysql下已经建立数据库myDatabase;
jre和jdk安装应该成功,因为,可以运行别的程序,可以对我的普通java程序运行;3 问题
我的程序名字叫做JDBCDemo.java,javac JDBCDemo.java命令运行通过,但是在java JDBCDemo时出现错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: JDBCDemo
at java.lang.ClassLoader.DefineClass1<Native Method>
at java.lang.ClassLoader.DefineClass<Native Source>
at java.security.SecureClassLoader.DefineClass<Unknown Source>
at java.net.URLClassLoader.DefineClass<Native Source>
等等4 程序如下,一个基本的小程序,谢谢啦
import java.sql.*;public class JDBCDemo {
/*
*@param args
*/
public static void main(String[] args){
String user="root";
String password="12345678";
String URL="jdbc:mysql://localhost:3306/myDatabase";
String driver="com.mysql.jdbc.Driver";
String tableName="studinfo";
String sqlstr;
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(driver).newInstance();
con=DriverManager.getConnection(URL,user,password);
stmt=con.createStatement();
sqlstr="insert into"+tableName+"values('20000908','honey',21)";
stmt.executeUpdate(sqlstr);
sqlstr="select * from "+tableName;
rs=stmt.executeQuery(sqlstr);
System.out.println("已经运行到这儿了!");
ResultSetMetaData rsmd=rs.getMetaData();
int j=0;
j=rsmd.getColumnCount();
for(int k=0;k<j;k++){
System.out.print(rsmd.getCatalogName(k+1));
System.out.print("\t");
}
System.out.println();
while(rs.next()){
for(int i=0;i<j;i++){
System.out.println(rs.getString(i+1));
//System.out
}
}
}
catch(java.lang.InstantiationException e){
System.out.println("实例化没有成功!");
}
catch(java.lang.IllegalAccessException e){
System.out.println("illegal access");
}
catch(ClassNotFoundException e)
{
System.out.println("数据库驱动不存在!");
System.out.println(e.toString());
}
catch(SQLException e)
{
System.out.println("数据库存在异常!");
System.out.println(e.toString());
}
finally
{
try{
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(con!=null) con.close();
}
catch(SQLException e)
{
System.out.println("还是有错啊");
System.out.println(e.toString());
}
}
}
}
5 疑问
到底是什么问题呢?对于jdbc-connector的设置,参照了网上很多资料,没有看出来有什么问题啊?
还请大虾们给看看,谢谢了
你在命令窗口中运行 此程序,我怀疑你的MYSQL数据库驱动没有加载成功。
JDBCDemo.java就是一个单独的程序,没有放到哪个包下面,其实放package应该也不会导致问题出现
估计应该是这个问题,java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
我使用的命令行下运行JDBCDemo.class程序
应该如何连接上这个Driver呢?
我看到mysql-connector-java-5.1.2-beta-bin.jar中有这个driver了,并且我新建classpath变量并添加了这个jar的路径进入,不行啊!
谢谢大家帮忙啊
在线等待
classpath="c:\JDBC\mysql-connector-java-5.1.2-beta\mysql-connector-java-5.1.2-beta-bin.jar"
不行啊
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
2 java JDBCDemo出现下面问题:
exception in thread "main" java.lang.NoClassDefFound:JDBCDemo
请问为什么没有找到JDBCDemo类啊
先 set classpath =.;c:\JDBC\mysql-connector-java-5.1.2-beta\mysql-connector-java-5.1.2-beta-bin.jar再 javac JDBCDemo.java最后 java JDBCDemo
Path=%JAVA_HOME%\bin【这句话放到你的path最前面】你的问题最重要的是这里
CLASSPATH的设置CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\bea\lib\mysql-connector-java-5.1.2-beta-bin.jar【后面是你的MYSQL驱动路径】我已经在我自己的机上运行了 并且是在 命令窗口中运行的 java JDBCDemo强烈建议楼主把 JAVA的开发环境和JAVA的运行环境弄明白!!!!