我知道,为了将java代码连接到mysql,我们必须使用我们所拥有的任何一个可选选项(我不确定所有这些选项)加载com.mysql.jdbc.Driver :-
Class.forName("com.mysql.jdbc.Driver");
OR
Class.forName("com.mysql.jdbc.Driver").newInstance();
OR
System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
OR
//through command promp
我只需要澄清以下设计是否违背了面向对象的设计最佳实践(与实现MySQL数据库有关)。这不是Java EE的规模,而是第二年的本科生工作,我在甲骨文的教程中所能找到的就是使用等的大型数据库的设计指南。
我有一个处理加载JDBC driver和MySQL Database的类。它将Connection和Statement对象定义为static。
/** Enables a connection to the chessleaguedb MySQL database
* @author Erdi Rowlands
*/
public class DatabaseConnection
{
我在Windows10上使用MySQL连接器/C++。我观察到,当我从全局对象的c‘’tor调用get_driver_instance时,它只是崩溃抛出异常:访问冲突读取位置。
示例代码:
#define CPPCONN_LIB_BUILD // Need to include this as we are linking mysql connector in static library
#include "MySQL\Src\mysql-connector-c++-1.1.5\cppconn\driver.h"
#pragma comment(lib,"MySQL
我正在做一个Java的包裹递送项目。
我试图用数据库中的数据加载两个JComboBox组件,但得到了以下错误。
Sack跟踪
Names : java.sql.SQLNonTransientConnectionException: No operations allowed after connection closed.
java.sql.SQLNonTransientConnectionException: No operations allowed after connection closed.
at com.mysql.cj.jdbc.exceptions.SQLEr
作为JDBC的新手,我被教会使用Class.forName注册到DriverManager的驱动程序,但这似乎不适用于我的代码:
public static void main(String[] args)
{
System.out.println(DriverManager.drivers().count());
// clear all loaded drivers
Iterator<Driver> it = DriverManager.drivers().iterator();
while (it.hasNext())
{
正如在中解释的那样,Class.forName()方法执行以下操作:
调用Class.forName(字符串)返回与具有给定字符串名称的类或接口关联的类对象
但是,如果它只是这样做的话,那么为什么调用这个方法来使用MySQL呢?如果没有它,我将得到以下错误:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/calender
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.s
我已经从JDBC4.0上了解到,和JDK 6中找到的驱动程序是自动加载的。这就是我们习惯于在创建JDBC连接时忽略这一行Class.forName(dbDriver);代码的原因。
但最近我安装了MySQL Server 8.0.11,并在运行在tomcat 8.5.30上的简单Servlet项目中将驱动程序更新为mysql-connector-java:8.0.11。但它给了我臭名昭著的例外
java.sql.SQLException: No suitable driver found for
jdbc:mysql://localhost:3306/mysql at ...
但我所有的代码
我正在尝试创建到MySQL的数据库连接。我右键单击connections并选择create a new connection。然后我选择MySQL。下拉列表中没有显示任何驱动程序,我似乎无法继续下去。我刚刚用Connector/J重新加载了MySQL。
我使用的是Eclipse版本:开普勒服务版本2内部版本id: 20140224-0627和MySQL mysql-installer-web-community-5.6.17.0
任何帮助都将不胜感激。
谢谢,
威利