碰见了一个问题,一直无法解决,希望大家帮帮忙。
这是连接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包同时也要放到tomcat的lib目录下
如果你是直接把jar包拷贝进去的,右击jar点击add library,如果是jsp项目 需要拷贝到web下的lib下面。