java - 将Java连接到MySQL数据库

标签 java mysql jdbc

如何在Java中连接到MySQL数据库?
当我尝试的时候,我得到了

java.sql.SQLException: No suitable driver found for jdbc:mysql://database/table
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)

或者
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

或者
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

最佳答案

DriverManager是一种相当古老的做事方式。更好的方法是通过查找已为您配置的应用服务器容器来获取DataSource

Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/myDB");

或者直接从数据库驱动程序中实例化和配置一个:
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("scott");
dataSource.setPassword("tiger");
dataSource.setServerName("myDBHost.example.org");

然后从中获取连接,如上所述:
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT ID FROM USERS");
...
rs.close();
stmt.close();
conn.close();

关于java - 将Java连接到MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41598076/

相关文章:

java - 如何知道 jdbc 连接为何无效

java - EXECUTE 之后的事务计数表明 BEGIN 和 COMMIT 语句的数量不匹配。以前的计数

java - JDBC - 在哪里可以找到用于在 Linux(甚至 Windows)上读取 excel 文件 (.xml) 的 4 类 JDBC 驱动程序

java - 使用 Maven 将其他 Artifact 部署到 Nexus 2

java - 线程 "main"java.lang.ArrayIndexOutOfBoundsException : 65 中的异常

sql - 我该如何优化这个 MySQL 查询?

mysql - 需要使用不同的 WHERE 找到一个结果。 SELECT 中的 SELECT?

mysql - 选择特定日期有空的老师

java - 如何将邮件发送给多个收件人

java - Spring Boot Elasticsearch 配置