首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过JDBC连接到数据库

通过JDBC连接到数据库
EN

Stack Overflow用户
提问于 2015-06-18 23:28:20
回答 1查看 219关注 0票数 0

我正在学习一本关于用JDBC将程序连接到数据库的教程。我对第一个代码块在类中所做的事情感到困惑。当我运行代码时,我看到一个错误:java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:8889/book_store

代码在类内的第一个块中抛出一个异常。是否需要向项目添加某种类型的依赖项或库?

如你所知,这是我第一次尝试使用数据库.

代码语言:javascript
复制
package com.apress.books.dao;

import com.apress.books.model.Author;
import com.apress.books.model.Book;
import com.apress.books.model.Category;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class BookDAOImpl implements BookDAO {

static {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException ex) {
    }
}

private Connection getConnection() throws SQLException {
    return DriverManager.getConnection("jdbc:mysql://localhost:8889/book_store",
            "root", "password");
}

private void closeConnection(Connection connection) {
    if (connection == null)
        return; try {
        connection.close();
    } catch (SQLException ex) {
    }
}
@Override
public void insert(Book book) {

}

@Override
public void update(Book book) {

}

@Override
public void delete(Long bookId) {

}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-18 23:38:17

本质上,这是一个ClassNotFoundException。您的第一个catch子句是空的,因此,尽管正在捕获异常,但您没有对它采取行动。至少,我会这样做:

代码语言:javascript
复制
static {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException ex) {
        throw ex;
    }
}

这将帮助你更好地了解是什么导致了你的麻烦。

继续寻找解决方案:

如果使用的是Maven,则需要在pom.xml中添加以下依赖项:

代码语言:javascript
复制
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.35</version>
</dependency>

如果需要,将版本更改为任何一个找到的这里

否则,您需要从同一个链接下载jar并将其包含在项目依赖项中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30927521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档