我知道,为了将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
加载类com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver‘。驱动程序是通过SPI自动注册的,手动加载驱动程序类通常是不必要的。线程中的异常“主”java.sql.SQLException:不能用executeQuery()发出数据操作语句。在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exception
我已经从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 ...
但我所有的代码
TL;DR:同时使用Hive和MySql JDBC会有问题吗?
我正在开发一个应用程序,该应用程序使用MySql JDBC驱动程序执行多个SQL查询,之后它还使用Hive发送另一个Hive查询。
现在发生的事情是MySql查询工作正常,当代码试图执行Hive查询时,它会抛出这个异常:
com.mysql.cj.core.exceptions.WrongArgumentException: Connector/J cannot handle a database URL of type 'jdbc:hive2:'.
at sun.reflect.NativeConstru
当我试图加载带有spark数据帧的mysql表时。我收到错误消息。
Caused by: java.lang.IllegalArgumentException: MONTH
at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:2648)
at java.util.Calendar.updateTime(Calendar.java:3393)
at java.util.Calendar.getTimeInMillis(Calendar.java:1782)
at com.mysql.cj.jdbc.i
我安装了JDK1.7,并尝试连接到不同的MySQL数据库和连接器/J版本。但每次加载驱动程序时,我都会收到以下错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at jdbc.JDBC.main(JDBC.java:24)
Caused by: java.lang.RuntimeException: Uncompil
我正在为JDBC动态加载驱动程序。它工作得很好,但是当我试图打开hibernate会话时,这个DriverManager就变得无用了。
org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver could not be loaded
这是代码
public class TestHibernateSessionFactory {
public void test() throws MalformedURLExcep
使用Struts2和Hibernate4的应用程序、JDBCServer5.1和Apache Tomacat7.0无法从WEB-INF/lib目录中找到MySql驱动程序( 5.1的mySql连接器)。
显示以下错误:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
当我使用oracle10g XE作为数据库时,同样的错误也出现了,现在出现的错误是它无法从WEB-INF/lib目录中找到ojdbc14.jar,错误为msg:
java.sql.SQLException: N
在我的OSGi环境中,我正在尝试预加载一个数据库驱动程序以供进一步使用。通常,可以这样做:
Class.forName("com.mysql.jdbc.Driver");
在此之后,可以创建连接。但是,如果我在Felix下的OSGi中使用它,他会说找不到这个类(ClassNotFoundException),并且无法创建连接。但是当我这样做的时候(省略了try-catch):
com.mysql.jdbc.Driver d = new com.mysql.jdbcDriver
Class.forName("com.mysql.jdbc.Driver");
然后一
我只需要澄清以下设计是否违背了面向对象的设计最佳实践(与实现MySQL数据库有关)。这不是Java EE的规模,而是第二年的本科生工作,我在甲骨文的教程中所能找到的就是使用等的大型数据库的设计指南。
我有一个处理加载JDBC driver和MySQL Database的类。它将Connection和Statement对象定义为static。
/** Enables a connection to the chessleaguedb MySQL database
* @author Erdi Rowlands
*/
public class DatabaseConnection
{