java.lang.NoClassDefFoundError
package imooc; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JDBCUtils { //定义四个常量 private static final String driverClass; private static final String url; private static final String username; private static final String password; static { //加载属性文件并解析 Properties props =new Properties(); //如何获取属性文件输入流? //通常情况下使用类的加载器的方式进行获取 InputStream is=JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); try { props.load(is); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } driverClass=props.getProperty("driverClass"); url=props.getProperty("url"); username=props.getProperty("username"); password=props.getProperty("password"); } /** * 注册驱动的方法 * @throws ClassNotFoundException */ public static void loadDriver() throws ClassNotFoundException { Class.forName(driverClass); } /** * 获得连接的方法 * @return Connection对象 * @throws Exception */ public static Connection getConnection() throws Exception { loadDriver(); Connection conn=DriverManager.getConnection(url,username,password); return conn; } /** * 释放资源 * @param conn * @param stmt */ public static void release(Connection conn,Statement stmt) { if(conn!=null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } conn=null; } if(stmt!=null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } stmt=null; } } /** * 释放资源 * @param conn * @param stmt * @param rs */ public static void release(Connection conn,Statement stmt,ResultSet rs) { if(conn!=null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } conn=null; } if(stmt!=null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } stmt=null; } if(rs!=null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs=null; } } }
package imooc; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test; public class Demo1 { @Test public void test() { Connection conn=null; Statement stmt=null; ResultSet rs=null; try { conn=JDBCUtils.getConnection(); String sql="select *from student"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); while(rs.next()) { int id=rs.getInt("id"); String name=rs.getString("name"); int score=rs.getInt("score"); System.out.println(id+" "+name+" "+score); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { JDBCUtils.release(conn, stmt, rs); } } } 报的错误 java.lang.NoClassDefFoundError: Could not initialize class imooc.JDBCUtils at imooc.Demo1.test(Demo1.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
10
收起
正在回答 回答被采纳积分+1
1回答
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星