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

相关文章:

java - 如何将链接列表中的下一个元素打印到 CSV 文件?

java - 读取配置文件的最佳方法

javascript - Django 将 JSON 数据传递给静态 getJSON/Javascript

mysql - 查询不存在的记录,返回 null,HTTP 200

java - 通过右键单击 JTable 中的 MySql 表删除行

java - 返回多个结果集的查询

java - 为什么 JavaFX table.getItems().clear() 也会清除 ObservableList

mysql - 如何在单个 mongodb 查询中使用聚合求和、乘法、除法和分组

java - 如何防止 Tomcat6 在 WEB-INF/lib 中预加载 JDBC 驱动程序?

java - 为 JerseyTest 配置带有 SSL 的 JettyTestContainer