• 我学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里面的英文开发文档,里面是最权威的了吧。

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

  • 相关阅读:
    中间件(1)分布式缓存
    大型网站架构演进(9)服务化
    大型网站架构演进(8)业务拆分
    大型网站架构演进(7)数据库拆分
    大型网站架构演进(6)使用NoSQL和搜索引擎
    大型网站架构演进(5)数据库读写分离
    大型网站架构演进(4)使用应用服务器集群
    大型网站架构演进(3)使用缓存改善网站性能
    大型网站架构演进(2)数据库与应用服务器分离
    大型网站架构演进(1)单机网站
  • 原文地址:https://www.cnblogs.com/xioyaozi/p/2301615.html
Copyright © 2020-2023  润新知