我正在尝试连接到mysql数据库但由于错误仍未完成,我的代码如下:
public static void main(String[] args) {
try{
String url = "jdbc.mysql://localhost:3306/db";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url,"root","root");
Statement stmt = conn.createStatement();
String query = "insert into student values(1,abs)";
stmt.executeQuery(query);
System.out.println("Success...");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
错误如下:
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) 在Java_Database.main(Java_Database.java:11)
所以任何人都应该知道,请帮助我。
答案 0 :(得分:2)
1:下载您引用的msi http://dev.mysql.com/downloads/connector/j/
2:跑吧。运行后,安装应用程序消失,而不是安装例程成功的路线图
dir mysql-connector-java-5.1.36-bin.jar /s
我让它全程运行以确认我没有安装在其他地方
C:\>dir mysql-connector-java-5.1.36-bin.jar /s
Directory of C:\Program Files (x86)\MySQL\MySQL Connector J
06/19/2015 09:26 PM 972,009 mysql-connector-java-5.1.36-bin.jar
1 File(s) 972,009 bytes
Total Files Listed:
1 File(s) 972,009 bytes
似乎与我在使用之前遇到的5.1.35文件大小一致
顺便说一句,上面的MySql Connect J文件夹日期刚刚创建,所以我确信这是来自安装
我将其复制(不移动)到我的c:\javadeps
文件夹。
我有一个名为so_gibberish
的数据库,以及一个名为thingws
的表格,其中包含3行
源代码(myTest.java): 我从互联网上挖走了这个存根,因为我主要是一个scala / jvm程序员。所以请原谅。但它确实有效。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger;
public class myTest {
public static void main(String[] args) {
Connection con = null;
Statement st = null;
ResultSet rs = null;
String url = "jdbc:mysql://localhost:3306/so_gibberish"; // **** MODIFY db name @ end
String user = "stan"; // **** MODIFY
String password = "stan_password"; // **** MODIFY
try {
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
System.out.println("------------------------------");
rs = st.executeQuery("select version()");
if (rs.next()) {
System.out.println(rs.getString(1));
System.out.println("------------------------------");
}
rs = st.executeQuery("select id,myCode from thingws");
while (rs.next()) {
System.out.println(rs.getInt(1)+": "+rs.getString(2));
}
System.out.println("------------------------------");
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(myTest.class.getName());
lgr.log(Level.SEVERE, ex.getMessage(), ex);
} finally {
try {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(myTest.class.getName());
lgr.log(Level.WARNING, ex.getMessage(), ex);
}
}
}
}
我会将其保存在C:\dev\java8\quick_java_mysql_test
c:\dev\java8\quick_java_mysql_test>javac myTest.java
c:\dev\java8\quick_java_mysql_test>java -cp .;c:\javadeps\mysql-connector-java-5.1.36-bin.jar myTest
输出是:
------------------------------
5.6.24-log
------------------------------
1: C938CA
2: XYZ123
3: XYZPDQ
------------------------------
在项目级别为jars提供依赖项文件夹是很常见的,例如项目文件夹下的dep
目录。
虽然我有相同的jar文件,但它没有被引用,如步骤7中的-cp指令所示
选择c:\javadeps
根据您的战略计划您的战略
答案 1 :(得分:1)