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/2839321/

相关文章:

java - 将 EhCache 从 native 实现更新为 Hibernate 实现

MySQL 通过简单查询检查多行

java - 使用 H2 数据库的 JDBC 中的年份从负 -509 变为正 510

java - Jsoup:在无 CSS 的 HTML 中提取两个 block 之间的所有 HTML

java,paint Jpanel,它在另一个JPanel里面

java - JTable删除所有行异常

mysql - 从 2 个不相关的表中选择并合并唯一 ID 列

php - Chrome 中的 Mysql 查询问题

java - HiveServer2 JDBC 客户端 : Unable to connect to MetaStore

apache-spark - 从JDBC源迁移数据时如何优化分区?