使用JDBC Driver Manager连接到MySQL DB时,连接成功并按预期检索结果集。但是当尝试使用org.springframework.jdbc.datasource.DriverManagerDataSource或org.springframework.jdbc.datasource.SimpleDriverDataSource通过Spring配置进行连接时
JDBC驱动程序com.mysql.JDBC.driver被加载,但无法与MySQL建立连接。
import com.xxxx.xxxx.xxxx.dao.TimeslotDAO;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class App {
public static void main(String[] args) {
//testClassic(); // This works and gets the results.
testSpring(); // Fails with SQLException.
}
private static void testSpring(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("Spring-Module.xml");
TimeslotDAO timeSlot = (TimeslotDAO) ctx.getBean("timeslotDAO");
timeSlot.populateTimeSlotsCache();
}
private static void testClassic(){
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
e.printStackTrace();
}
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/FR", "root", "xxxx");
if(conn!=null) {
String sql = "select * from TB_AUTO_xxx_SLOT_xxx " +
"where i_book_id =2639";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while(rs.next()){
System.out.println(rs.getLong(1));
}
if(rs!=null) rs.close();
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:msql://localhost:3306/FR" />
<property name="username" value="root"/>
<property name="password" value="xxxx"/>
</bean>
日志中的异常:
INFO: Loaded JDBC driver: com.mysql.jdbc.Driver
java.sql.SQLException: No suitable driver found for jdbc:msql://localhost:3306/FR
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
at com.xxxx.xxxx.xxxx.dao.impl.TimeslotDAOImpl.populateTimeSlotsCache(TimeslotDAOImpl.java:23)
at com.xxxx.xxxx.xxxx.App.testSpring(App.java:22)
at com.xxxx.xxxx.xxxx.App.main(App.java:16)
您的连接字符串不正确。在连接字符串中有一个错误,您将msql
而不是mysql
放入了连接字符串。连接字符串应该如下所示:
jdbc:mysql://localhost:3306/FR
我正在处理Spring Boot项目,突然遇到应用程序无法加载MySQL jdbc的问题。(我编译了一次这个项目,没有改变任何东西) 这是我的pom.xml: 这是我的application.properties: Logcat: MySQL数据库最初是使用hibernate创建的。这些配置工作正常,但我不确定这里的真正问题是什么 编辑:我删除了。m2文件夹并从一开始安装所有依赖项。
我正在尝试使用本教程连接Oracle数据库。当我使用命令行:java-cp c:\jdbc-test\ojdbc6.jar;c:\jdbc-test OracleJDBC我已经将ojdbc6.jar与OracleJDBC.java放在同一个文件夹中。现在我需要在Eclipse上运行它,但它给我一个错误: 是因为OJDBC6.jar位置吗?
即使驱动程序类名已定义,我也会收到此错误 Java语言lang.IllegalStateException:无法加载驱动程序类:com。mysql。jdbc。组织的驱动程序。springframework。util。明确肯定state(Assert.java:392)~[spring-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]位于org。springframewor
我使用JBoss作为7.1.1.final作为我的应用程序服务器。 我已经在JBoss社区用户论坛上发布了我的问题:question-here jboss-as-cmt war工作得很好,即我能够将客户添加到发票中。我可以psql进入数据库引擎,我可以看到所有的记录。我唯一的问题是我不能使用h2console webapp进入我创建的jboss-as-cmt postgres数据库。 我使用:“o
这很奇怪。我使用的是运行VirtualBox 4.2.6的Mac OS X 10.7.5 64位主机。我有一个Windows 7 SP1来宾(64位),带有运行Microsoft SQL Server Express 2012的桥接网络。我将 SQL Server 配置为在端口 1433 上使用 TCP/IP,而不是动态端口(设置为空,而不是 0)。Windows 7 来宾的 IPv4 地址为 1
嘿,伙计们,还有一个问题,下面是信息