用spring配置连接mysql数据库异常,大家帮忙啊,急!!!!
编程界小明哥
Java领域优质创作者
博客专家认证 2008-03-15 12:56:20 spring 配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/ding</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>ding</value>
</property>
</bean>
</beans>
测试类代码如下:
package dbconnection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
public class DBConnection {
public void testCopyData() throws Exception{
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext12.xml");
DataSource ds = (DataSource)act.getBean("dataSource");
JdbcTemplate jt = new JdbcTemplate(ds);
List cates = jt.queryForList("select * from user");
int i= 0;
for(Iterator ite = cates.iterator(); ite.hasNext();){
i++;
Map result = (Map) ite.next();
System.out.println("username:"+result.get("username")+"\n");
}
}
public static void main(String[] args){
try {
new DBConnection().testCopyData();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
异常:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:329)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:405)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:413)
at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:444)
at dbconnection.DBConnection.testCopyData(DBConnection.java:19)
at dbconnection.DBConnection.main(DBConnection.java:29)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
... 9 more
到网上查了,说有可能是Mysql的驱动没放到lib下
我都放好了,WEB-INF的lib和commen的lib下都放了
还是这个错误。。。。。
大家帮忙