我学jsp:jsp连接mysql数据库

前段时间看书,到了后面发现其实都简单了,都是了解的事情。直到碰到连接数据库的部分,发现碰到了问题,万幸,最后总算搞出来了。

首先,先说下mysql。安装的时候简单,就是最后要输root密码的时候就老实填个,有些书上说先空着,然后到了后面加,结果后来就出错了,重装都不好装。装好了之后,可以在cmd里输入mysql -u root -p,然后输入密码,ok,进来了。我们先简单的建立个数据库,mysql默认的装有test数据库,你可以show databases;查看所有的数据库,use test 进入test数据库进行操作。create table dbtest(id int(10)  not null primary key auto_increment,name varchar(20) not null default 'No name');回车,如果成功会提示query ok。然后我们先插入数据:insert into dbtest(name) values('jack'); insert into dbtest(name) values('Daniel'); 完成之后,我们执行select * from dbtest;查看表里的数据。有图有真相。

好,数据库建立起来了,我们开始编辑jsp或者servlet了。以jsp为模板,比较好执行。

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%

String driverName="com.mysql.jdbc.Driver";  //驱动程序名
String userName="root";//数据库用户名
String userPasswd="123456";//你的密码
String dbName="test";//数据库名 mysql默认有这个数据库,里面是空的
String tableName="dbtest";//表名
try{
 String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;//联结字符串
 Class.forName("com.mysql.jdbc.Driver").newInstance(); //载入jdbc驱动,这边经常出错,jdbc的开发文档上用了newInstance()
 // The newInstance() call is a work around for some broken Java implementations
 Connection connection=DriverManager.getConnection(url);
 out.print("数据库操作成功,恭喜你");
 out.print("<br>");
 Statement statement = connection.createStatement();
 String sql="SELECT * FROM "+tableName;
 ResultSet rs = statement.executeQuery(sql);
 // 输出每一个数据值
 out.print("id ");
 out.print("|");
 out.print(" name");
 out.print("<br>");

 while(rs.next()) {
  out.print(rs.getString("id")+" ");
  out.print("| ");
  out.print(rs.getString("name"));
  out.print("<br>");
 }
 rs.close();
 statement.close();
 connection.close();
}catch(SQLException e){
 out.print("数据库操作失败");
}
%>

如果要测试,把代码直接贴到jsp文件中。这里最最重要的要说明一个加载jdbc驱动问题。一个普通的sql服务器,只要30多兆吧,然后不附带mysql-connector-java-5.1.18-bin.jar,这个要单独下的,去mysql官网上,可以下到connector/J,里面有这个文件,我们说下这个文件的位置。既然是java归档文件,要当成库来用,一般都提倡加classpath,但是可能会被忽略,下面的英文是开发文档里的说明。其实我们有更简单直接的方法。

If you want to use MySQL Connector/J with an application server such as GlassFish, Tomcat or JBoss, you will have to read your
vendor's documentation for more information on how to configure third-party class libraries, as most application servers ignore the
CLASSPATH environment variable.

如果你用J2EE开发,在建立工程后,将这个jar文件放入该工程的\webContent\WEB-INF\lib里,这里是标准的,刷新一下就可以找到了。也可以放入tomcat目录下的lib文件中,也是可以的。

现在说下简单的方法体验下。将上面的代码编入jsp文件中,假如叫testSql.jsp,将其放入tomcat\webapps\root\下,然后将mysql-connector-java-5.1.18-bin.jar放入tomcat\webapps\root\WEB-INF\lib(如果没有,就自己创建个lib文件夹)。

启动tomcat服务,网址里输入localhost:8080/testSql.jsp,这样应该就出来了

呵呵,差不多了。String url="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userPasswd;这个也是可以的,估计是默认的3306吧,如果英文好的话,可以参考下connector/J里面的英文开发文档,里面是最权威的了吧。

圣诞已过,准备迎接新年了。

posted on 2011-12-26 09:45  奋威校尉  阅读(1075)  评论(0)    收藏  举报

导航