java - 将 Java 连接到 MySQL 数据库

如何在 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();

https://stackoverflow.com/questions/2839321/

相关文章:

java - Java中的静态 block

java - 使模板更容易的 JSP 技巧?

java - Java 中最接近函数指针的替代品是什么?

java - 在 Java 中检查字符串是否为空或 null

java - 使用 appcompat v7 更改 EditText 底线颜色

java - 如何在 Java 中获取用户输入?

java - 单击两次后退按钮以退出 Activity

Java - 通过 POST 方法轻松发送 HTTP 参数

java - 当 Javadoc 标记不完整时,Maven 无法在 Java 8 中运行

java - 如何使用 LocalDateTime 解析/格式化日期? (Java 8)