[英]How to connect to mysql database using java?
我正在尝试连接到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) )处java.lang.ClassLoader.loadClass(未知源)处java.lang.Class.forName0(本机方法)处Java_Database.main(Java_Database.java:11)
所以任何人都知道,请帮助我。
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
的数据库,以及一个有3行的名为thingws
的表。
源代码(myTest.java):因为我主要是Scala / jvm程序员,所以我从互联网上偷了这个存根。 所以请原谅。 但这有效。
导入java.sql.Connection; 导入java.sql.DriverManager; 导入java.sql.ResultSet; 导入java.sql.SQLException; 导入java.sql.Statement; 导入java.util.logging.Level; 导入java.util.logging.Logger;
公共课程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
------------------------------
通常在项目级别有一个jar依赖文件夹,例如项目文件夹下的dep
目录。
尽管我有相同的jar文件,但未引用它,如步骤7中的-cp指令所示
在c:\\javadeps
中拾取罐子
根据您的策略进行计划,祝您好运
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.