`
lishali12345
  • 浏览: 33429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

碰到一个JDBC连接问题,希望能有前辈给个答案!

阅读更多
今天在做一个简单Struts表单验证的时候,需要连接一下数据库。我把驱动的.jar文件也添加到了我当前的工程的lib中,可是在测试连接的时候总是出现一个运行时的Exception:Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
我就到google中去找答案,发现有很多很经典的文章,都是我以前看过了的。有人说是缺失某某包,说是缺少aspectj这个包,我到mysql的官网上去找,也没找到这样的东西啊!(可能是本人英文功底太差了!)我就先把问题放那儿了,下午我吃过饭回来,重新打开Myeclipse重新建了一个工程,我照着刘长炯先生的那个视频我又做了一遍,没问题了!我就开始怀疑了,我上午测试发现出现异常的时候我就把以前做的那个例子来再运行了一遍也会出现那样的错误呢!为什么下午就好了呢,我就把上午那个验证表单的Struts应用再运行一次,一切都OK了,我能说什么,我只能说"OH!My God!Thank God!"
除此我还能说什么呢!
不知道有没有高手能解释一下!
我使用的mysql是5.0版本的,使用的驱动程序为:mysql-connector-java-5.1.5-bin.jar,我的测试代码如下:
package myPackage;

import java.sql.SQLException;

/**
 * @author sali
 *
 */
public class JDBCDemo {

	/**
	 * @param args
	 * @throws SQLException 
	 */
	public static void main(String[] args) throws SQLException {
		// TODO Auto-generated method stub
		// 1. 注册驱动
		try {
			Class.forName("com.mysql.jdbc.Driver");//就是这行抛出异常!
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// 2. 获得数据库的连接
		java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK", "root", "123456");
		// 3. 获得表达式
		java.sql.Statement stmt = conn.createStatement();
		// 4. 执行sql语句
		java.sql.ResultSet rs = stmt.executeQuery("select * from student");
		// 5. 显示记录集里面的数据
		while(rs.next())
		{
			System.out.println(rs.getString("ID"));
			System.out.println(rs.getString("Name"));
			System.out.println(rs.getString("Age"));
			System.out.println();
		}
		
		// 6. 释放资源
		rs.close();
		stmt.close();
		conn.close();

	}

}

刚开始就一直报错,就在红色那一行,异常为:Exception:Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
可是现在又能运行了,读出结果为:
lishali
123456
我只能无奈的说,莫非是Myeclipse抽了?
不过我自己猜想可能是当时我在DOS环境下操作完数据库(建表,插入值等操作)之后,没有正常的退出,或者说是没有关掉与数据库的连接,导致数据库一直处于锁定状态,而无法进行连接操作!
恳请前辈们赐教啊!
小弟十分感谢!
分享到:
评论
7 楼 wwwlxz 2014-04-13  
好像是jdbc的jar包版本的问题,我也遇到了这种情况当时把mysql-connector-java-5.1.25.jar换成mysql-connector-java-5.0.8-bin.jar解决问题
6 楼 lishali12345 2008-04-13  

引用
foy 17 小时前
lishali12345 写道
谢谢楼上的朋友还有这份心,这里的高手好像都不太屑于回答此类问题啊!
怪~~

楼主一定很受打击吧? 呵呵,其实这里是个很好的认真学习东西的地方。多翻翻精华区,相信你能有所
收获。适合在这里学习解决问题的方法,而不是本身问题的答案。

ps:也是小菜一个,来JE不久。一点小感悟。 :)

谢谢,会在继续努力的,努力也成为一个小小的高手!呵呵
向前辈们学习!
5 楼 aids198311 2008-04-12  
MYSQL一直都有驱动的问题!后来改ORACLE用了。
4 楼 foy 2008-04-12  
lishali12345 写道
谢谢楼上的朋友还有这份心,这里的高手好像都不太屑于回答此类问题啊!
怪~~

楼主一定很受打击吧? 呵呵,其实这里是个很好的认真学习东西的地方。多翻翻精华区,相信你能有所
收获。适合在这里学习解决问题的方法,而不是本身问题的答案。

ps:也是小菜一个,来JE不久。一点小感悟。 :)
3 楼 hilliate 2008-04-12  
tomcat的lib里面也要把包放进去  com.mysql.jdbc.Driver
要是还不行,好像mysql还有另外一种驱动,具体名字忘了……,可以去百度google一下
2 楼 lishali12345 2008-04-11  
谢谢楼上的朋友还有这份心,这里的高手好像都不太屑于回答此类问题啊!
怪~~
1 楼 wangpx 2008-04-11  
这个问题我一前也遇到过,至今也没搞明白。其实不光是java,其他语言也有可能出现类似情况。

相关推荐

    一个JDBC连接mysql驱动

    以下是一个简单的JSP示例,展示了如何在JSP页面中使用JDBC连接MySQL: ```jsp *" %> Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:...

    jdbc连接池配置(优化连接速度)

    在IT行业中,数据库连接管理是应用系统性能优化的关键环节之一,而JDBC连接池就是解决这一问题的有效工具。本文将详细讲解JDBC连接池的工作原理、配置方法以及如何通过优化来提升连接速度。 JDBC(Java Database ...

    jdbc 连接impala或者jdbc连接hive

    Hive提供了一个名为Hive JDBC的驱动,它允许外部应用程序通过JDBC协议与Hive服务通信。要建立JDBC连接到Hive,你需要以下步骤: - **获取JDBC驱动**:Hive的JDBC驱动通常在`hive-jdbc-<version>.jar`文件中,这个...

    jdbc连接不同数据库方法

    3. **创建Statement或PreparedStatement**:有了连接后,需要创建一个`Statement`对象来执行SQL语句,或者使用`PreparedStatement`来执行预编译的SQL语句,后者更安全且效率更高。 4. **执行SQL**:调用`...

    jdbc连接大全 jdbc连接大全,很有用的,经自己精心总结!!

    **JDBC连接大全** 在Java编程中,JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口,它使得开发者可以使用Java代码来操作数据库。本篇内容将深入探讨JDBC连接的各个方面,旨在为你提供全面的...

    Tongweb5中配置JDBC连接池

    JDBC连接池是在应用启动时预创建一定数量的数据库连接,并将其存储在一个池中。当应用需要与数据库交互时,不是每次都去建立新的连接,而是从连接池中获取一个已存在的连接。使用完毕后,连接会归还到池中,以便其他...

    JDBC连接Oracle数据库常见问题及解决方法

    * 如果对已有连接进行 setAutoCommit 失败,则关闭该连接并重新建立一个连接。 * 到 Oracle 站点下载一个最新的 JDBC Driver,如果操作 LOB 类型,用 Oracle 自带的接口和类。 4. Weblogic 连接 Oracle 问题:The ...

    Oracle 客户端JDBC连接测试工具

    总结来说,Oracle客户端JDBC连接测试工具是一个方便的实用程序,利用Java的JDBC API检查与Oracle数据库的连接。了解JDBC基础和Oracle的JDBC驱动机制对使用和维护这类工具至关重要。如果工具的源码可用,开发者还可以...

    自定义高并发jdbc连接池

    "自定义高并发jdbc连接池"是一个专为处理大量并发请求而设计的解决方案,它允许应用程序高效地管理和复用数据库连接,从而减少数据库连接创建与释放的开销,提高系统的整体性能。 JDBC(Java Database Connectivity...

    Jdbc连接oracle远程数据库中文乱码解决

    - `applicationContext-db.xml`: 这是Spring框架中的一个配置文件,用于定义数据源(DataSource)和事务管理器等。在这个文件中,我们可以配置JDBC连接池,同时指定字符集,确保数据传输时的编码一致性。例如: ``...

    JDBC连接数据库测试

    JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试...

    Java jdbc数据库连接池总结

    连接池的基本工作原理是:当应用程序需要建立数据库连接时,连接池管理器会检查当前是否有可用的连接,如果有,则返回一个可用的连接对象;否则,连接池管理器将创建一个新的连接对象,并将其添加到连接池中。应用...

    jdbc连接数据库步骤

    连接数据库需要向java.sql.DriverManager请求并获得一个Connection对象,该对象代表了一个数据库的连接。通过调用DriverManager的getConnection()方法并传入数据库路径、用户名和密码来获得这个连接: ```java ...

    PB 通过JDBC连接SQLite

    标题 "PB 通过JDBC连接SQLite" 描述了一个使用PowerBuilder (PB) 通过Java Database Connectivity (JDBC) 驱动程序与SQLite数据库进行交互的场景。在本例中,使用的特定JDBC驱动是`sqlite-jdbc-3.23.1.jar`。这个...

    JDBC连接数据库方法文档

    JDBC 连接数据库方法...JDBC 连接数据库的方法可以分为四个步骤:加载 JDBC 驱动程序、提供 JDBC 连接的 URL、创建数据库的连接、创建一个 Statement。通过这四个步骤,开发者可以轻松地连接数据库并执行 SQL 语句。

    jdbc连接字符串示例

    下面是一个使用 JDBC 连接字符串连接 SQL Server 数据库的示例: ```java import java.sql.*; public class SqlTest { public static void main(String[] args[]) { try { Class.forName(...

    jdbc连接informix乱码问题

    jdbc对汉字的支持欠佳,informix的数据库,用jdbc连接后,汉字显示乱码,有人说用字符转换的方式可以解决,但是如果每个查询都转换,是个很麻烦的事情,经过搜索,对别人的方法加以改进,总算有个比较满意的方法可以...

    达梦数据库jdbc连接

    1. `dm8-oracle-jdbc16-wrapper`:这是一个针对达梦数据库的JDBC驱动包装器,它可能模仿了Oracle JDBC驱动的接口和行为,使得在使用达梦数据库时,代码可以与使用Oracle数据库时保持一致,便于迁移和兼容。...

    jdbc 连接各种数据库

    至于文件“fckeditor使用说明”,FCKeditor是一个开源的JavaScript富文本编辑器,它与JDBC本身没有直接关系,但如果你在编写博客或网页时需要编辑和插入数据库的内容,FCKeditor可以作为一个前端工具,帮助用户创建...

    JDBC连接MySQL数据库关键的四个步骤

    - 执行查询语句后,将返回一个`ResultSet`对象,其中包含了查询结果。 - 可以使用`ResultSet`的方法遍历查询结果并进行处理。 ```java while (rs.next()) { int id = rs.getInt("id"); String name = rs....

Global site tag (gtag.js) - Google Analytics