碰见了一个问题,一直无法解决,希望大家帮帮忙。
这是连接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,如图:
天蓬老师2017-04-18 10:52:53
jar 패키지를 직접 복사하는 경우 jar를 마우스 오른쪽 버튼으로 클릭한 후 라이브러리 추가를 클릭합니다. jsp 프로젝트인 경우 web 아래의 lib에 복사해야 합니다.