繁体   English   中英

如何使用Java连接到MySQL数据库?

[英]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:运行它。 运行安装应用程序后消失,这并不完全是成功完成安装例程的路线图

  1. 从c:\\的根目录发出: 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文件夹日期是刚刚创建的,所以我确定这是从安装开始的

  1. 我将其复制(而不是移动)到我的c:\\javadeps文件夹中。

  2. 我有一个名为so_gibberish的数据库,以及一个有3行的名为thingws的表。

  3. 源代码(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

  1. 编译并运行(运行时,它会查询mysql版本,然后在该表上查询3行)

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中拾取罐子

根据您的策略进行计划,祝您好运

mysql驱动程序jar不在类路径中。

下载它,并将其复制到类路径可见的位置。

这里链接到官方司机

您在代码中使用MySQL的JDBC驱动程序/连接器。

您可以从下面提到的链接下载。

https://www.mysql.com/products/connector/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM