標籤:
來源:ab藍學網 時間:2013-06-06 點擊:3894簡介:java教程|JSP中的資料庫操作(1):MySQL資料庫建立及管理本文目錄順序:安裝MySQLMySQL管理軟體SQLYogEnterprise--30天試用期到期解決方案使用SQLYogEnterprise建立...
JSP中的資料庫操作(1):MySQL資料庫建立及管理
本文目錄順序:
安裝MySQL
MySQL管理軟體SQLYog Enterprise
--30天試用期到期解決方案
使用SQLYog Enterprise建立資料庫
MySQL的各項參數
1. 安裝MySQL
下載並且安裝。安裝的時候配置使用者名稱和密碼,請記住自己的配置。
2. MySQL管理軟體SQLYog Enterprise
MySQL是命令列頁面,管理不方便,所以我們採用一個圖形介面的軟體SQLYog Enterprise管理資料庫。SQLYog Enterprise是一個很強大的資料庫管理軟體,可以輕鬆的建立,修改,刪除,重新命名資料庫。
2.1 30天試用期到期解決方案
在運行中輸入regedit開啟註冊表,刪除註冊表\HEYK_CURRENT_USER\Software\{FCE28CE8-D8CE-4637-9BC7-93E4C0D407FA}中的值,30天就會重新計數。就可以一直使用了。
3 使用SQLYog Enterprise建立資料庫
3.1 建立資料庫create database
在左側面板的空白處單擊右鍵,選擇Create Database,在彈出框中輸入資料庫名字。Datebase charset中可以選擇採用的字元集。為了避免中文亂碼,建議採用和網頁中一致的字元集。設定好之後點Create就可以了。
3.2 建立表create table
用之前建立的一個名為news的資料庫做示範。點擊news左側的加號,在出現的資料夾清單中選擇table,按右鍵table,在快顯功能表中選擇Create Table
在接下來出現的頁面填入表列的名稱和屬性。
Field Name為列名。Datatype為類型。Len為允許內容長度。PK是Primate Key,即主鍵。主鍵是一個資料庫中的標識,每行的主鍵必須不同。
我們建立四個列。
第一列為id,整數型,設為PK,勾選auto increase,這樣建立資料的時候該值就會自動填入。
第二列為title,char型,存放文字。
第三列為content,varchar型。因為char型最長為255位元組,更長的就要選擇varchar型了。
第四列為time,設為Datetime型。Datetime可以表示年月日時分秒。
設定好之後,點擊下方的Create,填入表名,進行儲存。(警告:千萬不要填完直接點右上方的叉叉,後果你懂得)
3.3 加入資料
選中剛才建立的表,在右側選擇第三欄Table Date。雙擊相應的位置就可以插入資料。插入完之後點儲存。設為auto increase的值會自動增加,不用填。
4. MySQL的各項參數
在MySQL的根目錄下面開啟my.ini,可以看到MySQL的各項參數。
連接埠號碼:port=3306
設定預設字元集:default-character-set=utf8
資料庫存放的位置:datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
JSP中的資料庫操作(2):JSP頁面中的資料庫查詢
要在JSP頁面中實現資料庫的查詢主要有串連及查詢資料庫的java代碼部分和html頁面代碼部分。實現這個頁面,我們進行一個三步走
1、寫出串連資料庫的代碼
2、寫出用於顯示頁面的代碼
3、將串連資料庫的代碼插入到頁面代碼的恰當位置。
1. 串連資料庫的代碼
1.1 匯入sql包
<% import="java.sql.*" %>
1.2 串連、查詢、關閉資料庫
怎樣查看冰箱裡面有沒有大象?1、開啟冰箱門。2、看一下。3、關閉冰箱門。就是這個過程。。。。。
[html]
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="1234";
//配置並串連資料庫
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
//查詢語句,顯示最後10條並且倒序排列
ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10");
//輸出表頭
out.println("<tr><td>標題</td><td>內容</td><td>時間</td></tr>");
//依次輸出每個查詢結果
while(rs.next()){
out.print("<tr><td>"+rs.getString("title")+"</td><td>"+rs.getString("content")+"</td><td>"+rs.getString("date")+"</td></tr><br>");
//如果採用列名,要加引號
}
out.print("</table><hr>");
//斷開資料庫
conn.close();
%>
2. 頁面的HTML代碼
為了頁面漂亮一點,做點點美化~做一個表格來存放資料
[html]
<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
<span><span class="tag"></span></span><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
table{ width:800px; margin:auto; padding: 5px; font-size:12px; border:0px; background:#00CCFF;}
tr{ background:#fff;}
td{ padding: 5px;}
#title{ text-align:center;}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JSP頁面中的資料庫查詢</title>
</head>
<body>
<form method=post>
標題:<input type="text" name="title"/><br/>
內容:<input type="text" name="content"/><br/>
<input type="submit" value="提交" />
</form>
<table >
<tr>
<td width="174" id="title">標題</td>
<td width="449" id="title">內容</td>
<td width="161" id="title">時間</td>
</tr>
<tr>
<td width="174" > </td>
<td width="449" > </td>
<td width="161"> </td>
</tr>
</table>
</body>
</html>
3. 把前面兩個代碼放在一起
放的時候注意代碼的位置安排。
[html]
<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
table{ width:800px; margin:auto; padding: 5px; font-size:12px; border:0px; background:#00CCFF;}
tr{ background:#fff;}
td{ padding: 5px;}
#title{ text-align:center;}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔11</title>
</head>
<body>
<%
//串連MySQL資料庫
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="1234";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
%>
<table >
<tr>
<td width="174" id="title">標題</td>
<td width="449" id="title">內容</td>
<td width="161" id="title">時間</td>
</tr>
<%
//把表格第二行的顯示放到while迴圈中,就可以根據查詢結果畫出表格了。參數則放在<td>內的相應位置。
ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10");
while(rs.next()){%>
<tr>
<td width="174" ><%=rs.getString("title") %></td>
<td width="449" ><%=rs.getString("content") %></td>
<td width="161"><%=rs.getString("time") %></td>
</tr>
<%}
//注意"}"的位置 %>
</table>
<%
rs.close();
conn.close();
%>
</body>
</html>
JSP中的資料庫操作(3):JSP頁面中的資料庫插入
這次是怎樣將大象放冰箱的命題了!大家都懂的!
我們要解決的主要有兩個問題:
1、如何擷取輸入的內容
2、如何插入時間。
直接上代碼
[html]
<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
table{ width:800px; margin:auto; padding: 5px; font-size:12px; border:0px; background:#00CCFF;}
tr{ background:#fff;}
td{ padding: 5px;}
#title{ text-align:center;}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔11</title>
</head>
<body>
<form method=post>
標題:<input type="text" name="title"/><br/>
內容:<input type="text" name="content"/><br/>
<input type="submit" value="提交" />
</form>
<%
//串連MySQL資料庫
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="1234";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
%>
<table >
<tr>
<td width="174" id="title">標題</td>
<td width="449" id="title">內容</td>
<td width="161" id="title">時間</td>
</tr>
<%
ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10");
while(rs.next()){%>
<tr>
<td width="174" ><%=rs.getString("title") %></td>
<td width="449" ><%=rs.getString("content") %></td>
<td width="161"><%=rs.getString("time") %></td>
</tr>
<%} %>
</table>
<%
//通過input中的name擷取輸入的內容。time那一行是獲得時間及定義時間格式
String getTitle=request.getParameter("title");
String getContent=request.getParameter("content");
java.text.SimpleDateFormat time = new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
String insertSQL = "INSERT INTO data(title, content, time) Values (‘"+getTitle+"‘, ‘"+getContent+"‘, ‘ "+time.format(new java.util.Date())+"‘)";
st.executeUpdate(insertSQL);
%>
<%
rs.close();
st.close();
conn.close();
%>
</body>
</html>
(轉)JSP+mysql資料庫操作 串連,增加,刪除,修改,查詢例子