Notes for a front-end developer, esyou.net

0%

JAVA创建MYSQL数据库表

使用Java代码编写jsp页面,使之能够对数据库添加数据表,比如现在有一个名为database的数据库,我们想要通过某个页面来添加一张数据库表到database数据库中,该如何进行编写代码?

一、准备工作

1、首先我们需要配置一个可运行Java Web的环境。

2、需要使用Java连接MySQL数据库的驱动jar文件,并且将相应的jar驱动文件放到WEB-INF\lib文件夹下。

二、创建数据库表的Java代码

1、创建一个jsp页面testmysql.jsp,在其顶部第一行代码处打上以下代码(此代码是调用java相应的类,并且让其页面为UTF-8)

1
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.io.*,java.sql.*"%>

2、创建数据库表,并且连接数据库,执行创建数据库表

1
<% String err;
2
Connection conn = null;//初始化Connection为null
3
try {
4
//JDBC驱动加载
5
String driverName = "org.gjt.mm.mysql.Driver"; // MySQL JDBC数据库驱动
6
Class.forName(driverName);
7
String sql = "CREATE TABLE mysql("
8
+ "mysql_boolean BOOL, " // boolean数据类型
9
+ "mysql_byte TINYINT, " // byte数据类型
10
+ "mysql_short SMALLINT, " // short数据类型
11
+ "mysql_int INTEGER, " // int数据类型
12
+ "mysql_long BIGINT, " // long数据类型
13
+ "mysql_float FLOAT, " // float数据类型
14
+ "mysql_double DOUBLE PRECISION, " // double数据类型
15
+ "mysql_bigdecimal DECIMAL(13,0), " // BigDecimal数据类型
16
+ "mysql_string VARCHAR(254), " // String数据类型
17
+ "mysql_date DATE, " // Date数据类型
18
+ "mysql_time TIME, " // Time数据类型
19
+ "mysql_timestamp TIMESTAMP, " // Timestamp数据类型
20
+ "mysql_asciistream TEXT, " // AsciiStream数据类型 (&lt; 2^16 bytes)
21
+ "mysql_binarystream LONGBLOB, " // BinaryStream数据类型 (&lt; 2^32 bytes)
22
+ "mysql_blob BLOB)"; // Blob数据类型 (&lt; 2^16 bytes)
23
// 创建数据库连接
24
String servername=request.getParameter("servername");
25
String mydatabase =request.getParameter("mydatabase");
26
String url = "jdbc:mysql://" + servername + "/" + mydatabase; // 数据库连接地址
27
String serveruser=request.getParameter("serveruser");
28
String serverpassword=request.getParameter("serverpassword");
29
conn = DriverManager.getConnection(url, serveruser, serverpassword);
30
Statement stmt = conn.createStatement();
31
stmt.executeUpdate(sql);
32
} catch (ClassNotFoundException e) {
33
out.print("找不到数据库驱动"+e);//错误处理
34
} catch (SQLException e) {
35
out.print("发生错误,错误信息如下&lt;br/&gt;"+e);//错误处理
36
}
37
catch (Exception ex) {
38
conn=null;
39
err=ex.toString();
40
System.out.println(err);//错误处理
41
}
42
%>;
43
<% //测试数据库连接是否正确
44
if(conn != null)
45
{
46
out.println("<p align="center"><font mysqlor=blue>数据库连接成功</font></p>");
47
}
48
else
49
{
50
out.println("<p align="center"><font mysqlor=red>数据库连接失败</font></p>");
51
}
52
%>;
53
<%
54
conn.close();//关闭数据库连接
55
%>;

三、jsp表单提交页面

创建一个首页index.jsp,代码如下:

1
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.io.*"%>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
<title>创建数据库连接及数据库表</title>
7
<style type="text/css">
8
<!--
9
.STYLE1 {font-size: 12px}
10
.STYLE3 {color: #00CC00}
11
.STYLE5 {color: #CCCC33}
12
.STYLE7 {color: #99FF33}
13
.STYLE9 {color: #99FFFF}
14
.STYLE11 {color: #000066}
15
.STYLE12 {font-size: 12px; color: #0033FF; }
16
.STYLE13 {color: #0033FF}
17
-->
18
</style>
19
</head>
20
<body>
21
<center>
22
<form action="testmysql.jsp" method="post" name="form">
23
<table width="292" border="0" cellpadding="4" cellspacing="4" bordercolor="#CCFFFF">
24
  <tr>
25
    <td colspan="2" bgcolor="#CCFFFF"><div align="center" class="STYLE12">创建数据库连接及数据库表</div></td>
26
    </tr>
27
  <tr>
28
    <td width="91" bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库URL</div></td>
29
    <td width="177" bgcolor="#CCFFFF"><div align="left" class="STYLE12">
30
      <input name="servername" type="text" id="servername" value="localhost" />
31
    </div></td>
32
  </tr>
33
    <tr>
34
    <td width="91" bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库名称</div></td>
35
    <td width="177" bgcolor="#CCFFFF"><div align="left" class="STYLE12">
36
      <input name="mydatabase" type="text" />
37
    </div></td>
38
  </tr>
39
  <tr>
40
    <td bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库用户名</div></td>
41
    <td bgcolor="#CCFFFF"><div align="left" class="STYLE12">
42
      <input type="text" name="serveruser"  />
43
    </div></td>
44
  </tr>
45
  <tr>
46
    <td bgcolor="#CCFFFF"><div align="right" class="STYLE12">数据库密码</div></td>
47
    <td bgcolor="#CCFFFF"><div align="left" class="STYLE12">
48
      <input type="password" name="serverpassword" />
49
    </div></td>
50
  </tr>
51
  <tr>
52
    <td bgcolor="#CCFFFF"><div align="right"><span class="STYLE1"><span class="STYLE3"><span class="STYLE5"><span class="STYLE7"><span class="STYLE9"><span class="STYLE11"><span class="STYLE13"></span></span></span></span></span></span></span></div></td>
53
    <td bgcolor="#CCFFFF"><div align="center" class="STYLE12">
54
      <input type="submit" name="submit" value="测试并建立" />
55
    </div></td>
56
  </tr>
57
</table>
58
</form>
59
</center>
60
</body>
61
</html>