如何解决由hibernate和mysql的连接问题:

环境:tomcat5.0.28,JDK1.4.2,spring1.1.4,hibernate2.1.7,webwork2.1.7,linux操作系统
先将编译好的文件打包成war文件,然后上传到远程linux服务器.放到tomcat/webapps/目录下.关闭tomcat服务器.
# ./catalina.sh stop
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/JDK1.4
重新启动tomcat:
# ./catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/JDK1.4

在浏览器里输入访问地址,抛出如下的异常:
Could not create Hibernate transaction; nested exception is net.sf.hibernate.exception.GenericJDBCException: Cannot open connection
如何解决这个问题:
我先写了一个test.jsp文件:
前提条件:
在mysql里面创建一个数据库database,
在database里面新建一个表:test
create table if not exists test
(
test_id integer not null AUTO_INCREMENT,
test_name varchar(50),
description text,
primary key (test_id)
);
内容如下:
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<table>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost:3306/database?user=root&password=root" ;
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
String query="select * from tb_test order by test_id";
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
String testName=rs.getString("test_name");
String description=rs.getString("description");
out.print("<tr><td>"+testName+"</td>"+"<td>"+description+"</td></tr>");
}
%>
</table>
</body>
</html>
页面不能正常显示. 看到的堆栈信息放到google里面g一下,原来数据库驱动版本过低.我用的是mysql-connector-java-3.0.8-stable-bin.jar,然后我换成mysqldriver.jar,访问没有问题了.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值