碰见了一个问题,一直无法解决,希望大家帮帮忙。
这是连接mysql的JdbcUtils代码:
public class JdbcUtils {
// 配置文件
private static Properties props = null;
// 静态块保证只加载一次
static {
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream(
"dbconfig.properties");
props = new Properties();
try {
props.load(in);
} catch (IOException e) {
System.out.println("加载配置文件失败!");
throw new RuntimeException(e);
}
try {
Class.forName(props.getProperty("driverClassName"));
} catch (ClassNotFoundException e) {
System.out.println("驱动类加载失败");
throw new RuntimeException(e);
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(props.getProperty("url"),
props.getProperty("username"), props.getProperty("password"));
}
}
用下面的这个测试类证明jdbcutilis没有问题,可以加载com.mysql.jdbc.Driver
public class TestJDBCUserDao {
@Test
public void test (){
UserDao ud = UserDaoFactory.getUserDao("mysql");
User user = new User();
user = ud.findByName("111");
System.out.println(user.getPassword());
}
}
UserDao的jindByName是为了获得数据库连接:
项目也已经引入数据库驱动包,如图:
但当用tomcat跑时提示错误:
错误提示,驱动类加载失败,也就是:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,如图:
如果你是直接把jar包拷贝进去的,右击jar点击add library,如果是jsp项目 需要拷贝到web下的lib下面。
把jar包同时也要放到tomcat的lib目录下