第一次写mybatis报错如下:
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${Driver}
### The error may exist in sqlmap/User.xml
### The error may involve test.findUserById
### The error occurred while executing a query
### Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: ${Driver}
在学习最基本的Mybatis配置运行时报出了这样一个错误
(1)一开始的时候看到 Cause: java.sql.SQLException: 觉得是sql语句写错了,经过检查sql并没有错误
(2)再次看了下报错,后面还有半句话 Error setting driver on UnpooledDataSource.Cause: java.lang.ClassNotFoundException: Cannot find class: 意思是没有成功加载driver驱动。然后是为什么没成功加载,原因是没有找到类,于是去查看了下配置文件
<environment id="development">
<!-- 使用jdbc事务管理 -->
<transactionManager type="JDBC" />
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${com.mysql.jdbc.Driver}" />
<property name="url"
value="jdbc:mysql://localhost:3306/student?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
经过再三查看错在
<property name="driver" value="${com.mysql.jdbc.Driver}" />
解决办法:将com.mysql.jdbc.Driver独立出来,再引用给driver,如下,解决报错
<configuration>
<properties>
<property name="driver" value="com.mysql.jdbc.Driver"/>
</properties>