<jsp:useBean id="database" scope="page"
    class="studeInformation.databaseBean"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>创建数据表</title>
</head>
<body>
<% 
     String sqlStr="create table Student_Info_2("+
                    "stuID int not null auto_increment,"+
                     "stuName varchar(50) not null,telephone varchar(12) not null,"+
                     "primary key(stuID));";
        
      try{
       database.setConnection("com.mysql.jdbc.Driver",
       "jdbc:mysql://localhost:3306/student","root","123");
       database.setSqlStr(sqlStr);
       database.createTable();
       out.println("数据表创建成功!");
       
      }catch(Exception ex){
       out.println("常见数据库出现异常!");
      }
%>利用javaBean创建,为什么每次都能成功,但是数据库中又没有呢
   public void createTable()throws SQLException{
      try{
      PreparedStatement ps=connection.prepareStatement(sqlStr);
      ps.executeUpdate();
      ps.close();
      connection.commit();
      }catch(Exception ex){
       System.out.println(ex);
       connection.rollback();
      }
     }

解决方案 »

  1.   

    对于mysql数据库创建数据表需要修改master(这是mysql的系统表),好好研究一下吧!
    下面有一段话,网上看到,最好不要通过JDBC创建数据库!你这个问法本身就不太好 jdbc应该说是java与数据库交互的一道桥梁,这要来源于java的平台无关性,这个平台无关更应该和数据库软件无关,想象下java是怎么做到的与操作系统的无关:在各种操作系统上再添加一层java虚拟机。根据这个思想我们就不难知道为什么会有那么多种jdbc驱动了,现在的情况是:数据库软件多多,为了屏蔽各种软件间的差异,为java编程人员提供通用的方法,所以要在各种数据库上添加 "虚拟机 ",通用的方法大家都知道,仔细想想java   api中那些与数据库的交互其实都被实现成了interface,原因不赘述了,大家应该都清楚。各数据库软件的差异怎么屏蔽也知道了:添加 "虚拟机 ",各种jdbc驱动应运而生。 说这么多类似废话的话,就是想说明jdbc只不过是是java与各种数据库沟通的方式,它体现更像是一种关系,而不是作为工具,创建数据库只有数据库软件本身能做到,只不过我们能通过一些方式用java做到了。