在tomcat5.0下关于JDBC连接mysql的讨论
小弟最近想学习jsp,就弄弄数据库连接,服务器tomcat5.0,数据库mysql5,新手上路,查看若干相关文档,在csdn中查找jdbc或者mysql,能找到好多关于jdbc连接mysql的例子,下面这个代码段也许各位仁兄已经发布好多次了,我贴出来
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
刚一看就发现非常不解,‘//testDB为你的数据库名’遍寻程序,一个字母一个字母的查,嘿!就是没发现testDB,其实我已经看懂了jdbc:mysql://localhost/softforum中的softforum就是数据库名,可是我想提个意见,对于新手来说千万不要弄这样的疏漏,以免走弯路,倒是可以锻炼一番,也许那些编程的书籍代码故意写错也是这个原因吧?
入正题,我弄了一晚上也没有弄好使,驱动程序是mm.mysql-2.0.4-bin.jar,放到C:\Tomcat 5.0\common\lib下有没有连接成功,放到\WEB-INF\lib下依然提示错误,找不到驱动程序包,看了一下别人的帖子,有的说mysql5不是稳定版本,换成4.018就ok了,我也换了,依然连不上,由于太困,暂时放弃。
今天来到公司,用相同的方法测试,也不好使,后来我找到解决方法了,我把连接的方法改了,代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost:3306/mysql";
String user ="root";
String password ="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from user";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%><br>
您的第二个字段内容为:<%=rs.getString(2)%><br>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
只是把连接方式改了,就ok了,可以显示出数据的,我很想弄明白第一种方法如何能连得上,连端口号都没有,靠什么来连接的呢,看到好多人推荐那个方法了,我就试试看,可是我的技术太浅,跟本调不通,希望各位仁兄多帮帮我,我只想弄得更清楚一些,研究么,不能只是局限于可以连接,也要弄清楚原理问题,在此谢过了!!
问题点数:50、回复次数:4Top
1 楼liujiansxcd(黑客精神)回复于 2004-08-02 12:49:39 得分 20
用jdbc方式必须是这样:jdbc:mysql://localhost:3306/数据库名,否则就不会找到的。Top
2 楼liushui05(风云)回复于 2004-08-02 13:02:37 得分 20
public class toolBox
{
private Connection con;
public Connection getCon()
{
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/testdb?useUnicode=true&characterEncoding=GB2312","root","");
}
catch (Exception e)
{
e.printStackTrace ();
System.out.println ("Database Connection Encounted an Exception" + e.getMessage());
}
return con;
}
}Top
3 楼longjing_g(龙睛)回复于 2004-08-02 14:04:52 得分 10
jdbc有默认的端口,可能是你未打开mysql的端口Top
4 楼mrmxh(零度)回复于 2004-08-03 19:05:31 得分 0
基本上我已经看过了,关于这个mysql的端口问题,在php中是默认3306,mysql的驱动程序默认查找3306的端口,这个问题不是什么大问题了,多谢大家帮助,再次感谢!就此结贴Top
相关问题
- tomcat+mysql问题,找不到jdbc驱动??
- tomcat+mysql+jdbc为什么会出现这个问题?
- Tomcat JDBC配置
- Tomcat+Mysql连接池
- win2000+JDK1.3+Tomcat+mysql环境下该如何安装JDBC驱动程序?
- 关于tomcat下jsp&javabean的讨论
- MySql 4.0新功能大讨论!!!
- Help! Tomcat conection pool -> Mysql problems
- 初级为题:tomcat如何联接mysql,使用mm.mysql 还是使用 jdbc,如何使用。
- 讨论:JDBC中Connection,Statement,ResultSet的关系?




