有一段URLhttp://www.blogger.com/index.htm
l請取出index.html這段字串。
做了一些測驗,測驗的程式碼如下:
2011年3月23日 星期三
2011年3月14日 星期一
JAVA開發中常見名詞
JAVA開發中常見名詞
在學習JAVA知識領域中,遇到了許多名詞,常常讓自己搞不懂,其實時如果直接看到程式碼時就會,啊~原來是這個喔!但由於在閱讀其他Java FrameWork常常讓人搞不懂這個名詞到底再說什麼東西,因此將這些名詞其紀錄下來。
JavaBeans
維基百科
蔡煥麟先生的網站
POJO (Plain Ordinary Java Object ,簡單平常的JAVA物件)
維基百科
CGI(Common Gateway Interface) 公共閘道介面
Java Servlet,(改良的CGI)
維基百科Servlet
JSP (Java Server Pages),Servlet的模板
Servlet、JSP運行容器
JDBC (Java Database Connectivity),資料庫基礎連接
DDL (Data Definition Language),資料庫定義語言
DAO (DataBase Access Object),資料庫操作物件
B/S模式 (Browser/Server Model)
C/S模式(Clinet/Server Model)
在學習JAVA知識領域中,遇到了許多名詞,常常讓自己搞不懂,其實時如果直接看到程式碼時就會,啊~原來是這個喔!但由於在閱讀其他Java FrameWork常常讓人搞不懂這個名詞到底再說什麼東西,因此將這些名詞其紀錄下來。
JavaBeans
- JavaBeans只是一個形容詞,指的就是符合Java開發規範的Class。
- 在JavaSE中符合JavaSE的規範就是JavaSE的JavaBeans,在JSP有JSP裡的JavaBeans,EJB有EJB的JavaBeans。
- 簡單說就是照Java規定寫出來的Class就稱做JavaBeans。
維基百科
蔡煥麟先生的網站
POJO (Plain Ordinary Java Object ,簡單平常的JAVA物件)
- POJO普通的Java類別,其實他就是JavaBean。
維基百科
CGI(Common Gateway Interface) 公共閘道介面
- 簡單說是一個介面,提供Server的服務給其他應用程式操作,一般常指伺服器提供給瀏覽器操作的介面程式。
Java Servlet,(改良的CGI)
- 因傳統CGI效能不彰,因此JAVA設計Servlet用來替代傳統CGI的後端服務。
維基百科Servlet
JSP (Java Server Pages),Servlet的模板
- 因Servlet處理HTML頁面標籤上不理想,因此出現了JSP。
- 其實JSP也是一種Servlet。
Servlet、JSP運行容器
- Java Servlet、JSP運行需要容器,這個容器有如JBoss、Tomcat、EJB。
JDBC (Java Database Connectivity),資料庫基礎連接
- JDBC是Java規定的存取資料庫API。
- 目前大部分主流資料庫都有資源JDBC,如MySQL。
- 使用JDBC存取MySQL需要MySQL的驅動,可以從MySQL官網取得,這個驅動是一個.jar檔。
- 一種資料庫效能的處理方式。
DDL (Data Definition Language),資料庫定義語言
- 涉及資料庫結構、表結構的SQL敘述。
- 如 CREATE DATABSE、CREATE TABLE、DROP DATABASE、DROP TABLE。
- 涉及資料操作的SQL敘述。
- 如 INSERT、DELETE、UPDATE、SELECT。
DAO (DataBase Access Object),資料庫操作物件
- 一個Class,內容只負責資料庫操作。
- 泛指資料庫物件操作的層次。
B/S模式 (Browser/Server Model)
- 指的是不需要在用戶端安裝單機程式,操作都是透由瀏覽器執行的應用程式。
C/S模式(Clinet/Server Model)
- 須在用戶端安裝RCP程式,透由該PCP程式與遠端Server交換資料,如QQ、MSN。
- 豐富用戶端程式,又稱桌面程式(Desk Program)。
- 因字首字母為I,開頭I與結尾N之間共18字母,因此又稱I18N。
- 字首L與結尾N之間共10字母,因此稱l10N。
PureMVC文件閱讀整理
PureMVC閱讀整理一
PureMVC結構
PureMVC結構
- PureMVC的目標是幫助你將應用程式分成三層架構,即Model、View、Control。
- Model、View、Control為獨體類,由這三者構成核心層。
- Facade為獨體類,負責實體化Model、View、Cntrol,且是核心層溝通的接口,簡單的說Facade負責注入相依性,在Facade注入相依有助於核心層彼此間鬆綁。
2011年3月13日 星期日
2011年3月11日 星期五
SQL閱讀整理五
ALTER 改寫歷史
想對資料表修正,而又不想刪除資料 !
原始表結構
使用FIRST
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50) FIRST;
使用LAST
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50) LAST;
使用AFTER
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50)
AFTER birthday;
使用BEFORE
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50)
BEFORE brithday;
使用SECOND
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50) SECOND;
更改資料表名稱
ALTER TABLE contacts_info
RENAME TO contacts_lis;
ALTER與CHANGE
//原始範例表結構
ALTER TABLE drinks_list
CHANGE COLUMN number drink_id INT NOT NULL AUTO_INCREMENT,
ADD PRIMARY KEY (drink_id);
只改型別
ALTER TABLE drinks_list
CHANGE COLUMN type VARCHAR(50);
只改欄位名稱
ALTER TABLE drinks_list
CHANGE COLUMN name drinkName;
修改兩各欄位
ALTER TABLE drinks_list
CHANGE COLUMN name drinkName VARCHAR(20),
CHANGE COLUMN type drinkType VARCHAR(20);
DROP COLUMN 刪除欄位
ALTER TABLE drinks_lis
DROP COLUMN cost;
一些便利的字串函式
SELECT RIGHT(location , 2) FROM my_contacts;
SELECT SUBSTRING_INDEX(location, ',', 1)FROM my_contacts;
這段敘述是說從location欄中,取回第一個豆號前所有的字串。
想對資料表修正,而又不想刪除資料 !
- 使用ALTER TABLE
- CHANGE:修改現存資料欄的名稱與型別。
- MODIFY:修改現存資料欄的型別與位置。
- ADD:新增一各欄位。
- DROP:移除某欄。
- RENAME TO:改變表名稱。
原始表結構
| name | age | birthday | gender | city |
使用FIRST
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50) FIRST;
| address | name | age | birthday | gender | city |
使用LAST
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50) LAST;
| name | age | birthday | gender | city | address |
使用AFTER
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50)
AFTER birthday;
| name | age | birthday | address | gender | city |
使用BEFORE
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50)
BEFORE brithday;
| name | age | address | birthday | gender | city |
使用SECOND
ALTER TABLE contacts_info
ADD COLUMN address VARCHAR(50) SECOND;
| name | address | age | birthday | gender | city |
更改資料表名稱
ALTER TABLE contacts_info
RENAME TO contacts_lis;
ALTER與CHANGE
//原始範例表結構
| number | name | type | price |
ALTER TABLE drinks_list
CHANGE COLUMN number drink_id INT NOT NULL AUTO_INCREMENT,
ADD PRIMARY KEY (drink_id);
| drink_id | name | type | price |
- CHANGE 可以修改資料欄的"名稱"與"型別"。
- 把資料改成另種型別有可能會遺失資料。
- 欲改變的資料型別與原始型別不相容,則指令不會執行。
只改型別
| drink_id | name | type | price |
ALTER TABLE drinks_list
CHANGE COLUMN type VARCHAR(50);
只改欄位名稱
| drink_id | name | type | price |
ALTER TABLE drinks_list
CHANGE COLUMN name drinkName;
| drink_id | drinkName | type | price |
修改兩各欄位
| drink_id | name | type | price |
ALTER TABLE drinks_list
CHANGE COLUMN name drinkName VARCHAR(20),
CHANGE COLUMN type drinkType VARCHAR(20);
| drink_id | drinkName | drinkType | price |
DROP COLUMN 刪除欄位
| drink_id | drinkName | drinkType | price | cost |
ALTER TABLE drinks_lis
DROP COLUMN cost;
| drink_id | drinkName | drinkType | price |
一些便利的字串函式
- RIGHT(欄位 , 字元數量) FROM tableName;
- SUBSTRING_INDEX(欄位, ',' , 1) FROM tableName;
SELECT RIGHT(location , 2) FROM my_contacts;
- RIGHT,表示從右側開始
- 函數中第一各參數表,目標欄位。
- 函數中第二各參數表,右側開始選擇的字元數量。
SELECT SUBSTRING_INDEX(location, ',', 1)FROM my_contacts;
這段敘述是說從location欄中,取回第一個豆號前所有的字串。
- SUBSTRING_INDEX,找尋由第二參數中所給的符號開始,然後取出符號前面的所有東西。
- 第二各參數,要找尋的符號。
- 第三各參數,表該欄位中第幾各符號開始。
SQL閱讀整理四
第四章 聰明的資料表
具有唯一性資料的表
//不具唯一性的資料表
表4-1
Primary Key的規則
關於正規劃將於後面章節將會談論
查詢已存在資料表當時建立的SQL敘述碼
建立一各不具Primary Key的資料表
CREATE TABLE employees_A
(
name varchar(20) NOT NULL,
age INT default NULL,
gender char(4),
city varchar(20)
)
建立一各具有Primary Key的資料表
CREATE TABLE employees_B
(
employeeID INT NOT NULL,
name varchar(20) NOT NULL,
age INT default NULL,
gender char(4),
city varchar(20),
PRIMARY KEY (employeeID)
)
CREATE TABLE employees_C
(
employeeID INT NOT NULL AUTO_INCREMENT,
name varchar(20) NOT NULL,
age INT default NULL,
gender char(4),
city varchar(20),
PRIMARY KEY (employeeID)
)
其實不用重新建立具有Primary Key的資料表,可以使用ALTER來修正
ALTER TABLE employees_A
ADD COLUMN employeeID INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (employeeID );
具有唯一性資料的表
//不具唯一性的資料表
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 林瀨瑤 | 20 | 女 | 東京 |
| 古小三 | 22 | 女 | 台北 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
- 表4-1出現同名的古小三,這兩筆資料無法辨識,簡單的說該表沒有唯一性。
- 修正方式加入一各欄位使其每一筆資料都具有唯一性。
| employeeID | name | age | gender | city |
| 00001 | 江小魚 | 20 | 男 | 台北 |
| 00002 | 林瀨瑤 | 20 | 女 | 東京 |
| 00003 | 古小三 | 22 | 女 | 台北 |
| 00004 | 古小三 | 22 | 女 | 台北 |
| 00005 | 塵在天 | 26 | 男 | 高雄 |
- 如此加上employeeID之後我們可以辨識出兩筆古小三是不同筆的資料。
Primary Key的規則
- 主鍵不可為NULL
- 插入新紀錄時,也必須指定主鍵值
- 必須簡潔
- 主鍵值不可修改
- 是資料表中的某各資料欄位,它可以獨一無二的分辨出每一筆紀錄。
- 具有Primary Key的資料表,是資料表第一階正規化的步驟之一。
關於正規劃將於後面章節將會談論
查詢已存在資料表當時建立的SQL敘述碼
- SHOW CREATE TABLE yourTable;
建立一各不具Primary Key的資料表
CREATE TABLE employees_A
(
name varchar(20) NOT NULL,
age INT default NULL,
gender char(4),
city varchar(20)
)
建立一各具有Primary Key的資料表
CREATE TABLE employees_B
(
employeeID INT NOT NULL,
name varchar(20) NOT NULL,
age INT default NULL,
gender char(4),
city varchar(20),
PRIMARY KEY (employeeID)
)
- PRIMARY KEY (columnName),用於指定Primary Key。
CREATE TABLE employees_C
(
employeeID INT NOT NULL AUTO_INCREMENT,
name varchar(20) NOT NULL,
age INT default NULL,
gender char(4),
city varchar(20),
PRIMARY KEY (employeeID)
)
- AUTO_INCREMENT,讓employeeIDy自動遞增數值。
其實不用重新建立具有Primary Key的資料表,可以使用ALTER來修正
ALTER TABLE employees_A
ADD COLUMN employeeID INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (employeeID );
- FIRST要求將該欄位安至於最前面。
- ADD COLUMN,用於加入一各欄位。
- ADD PRIMARY KEY,設定主鍵。
SQL閱讀整理三
第三章 DELETE 與 UPDATE
DELETE 刪除紀錄
※注意DELETE記得要加上WHERE使用,否則會刪掉整張表的資料。
※DELETE用於刪除一列或多列,無法刪除單一欄。
※使用DELETE必須小心,每次執行都有可能意外刪除掉必要的資料。
※使用時定要確認WHERE所下的條件精確與否。
※由於DELETE不精準,因此刪除前最好先SELECT確定刪除對象是否正確。
example:
//原始資料表
//刪除name欄位為江小魚的資料。
DELETE FROM employess
WHERE name = '江小魚';
example:
//原始資料表
//刪除年齡20歲且為女性的資料。
DELETE FROM employess
WHERE age = 20 AND gender = "女";
回憶一下INSERT,INSERT 與 DELETE
example:
//原始資料表
//插入一筆資料
INSERT INTO employees_info
VALUES('吳英雄', 27, '男', '高雄' );
//刪除前先用SELECT確定要刪除的資料是否正確。
SELECT * FROM employees_info
WHERE name = '林瀨瑤' AND gender = '女';
//刪除資料
DELETE FROM employees_info
WHERE name = '林瀨瑤' AND gender = '女';
閱讀階段心得:
資料庫規劃在實做上其實會有Primary Key,來代表資料表中唯一的一筆資料,確保不重複,而在employess_info設計上通常會加上一各員工編號來做Primary Key,以便識別,關於PK後面在來敘述。
閱讀到此,我想,像關於員工資料,在實際情境下,能夠刪除員工資料的人員,必定是具有管理權限的人事單位,而刪除員工資料在搜尋上因該是會以員工身分證號來找出員工編號,再以員工編號來執行刪除,若是有誤之處請指正之。
UPDATE 改變資料
※UPDATE可以修改已存在的資料。
※UPDATE可以搭配WHERE使用。
※UPDATE能夠只調整需要改變的欄位。
example:
//原始資料表
//SET用來指定將改調整的欄位與值。
UPDATE drinks_info
SET price = 35
WHERE name = '可樂' AND price = 25;
※UPDATE若沒加上WHERE使用,則所有SET提到的欄位全部都會被修改。
如上例,若沒加上WHERE則所有的price都會被改成35。
example:
//SQL中可以對欄位套用基礎數學運算。
//原始資料表
//修改所有酒精類飲料的價格,原本價格再加五元
UPDATE drinks_info
SET price = price +5
WHERE name = '酒精' ;
DELETE 刪除紀錄
※注意DELETE記得要加上WHERE使用,否則會刪掉整張表的資料。
※DELETE用於刪除一列或多列,無法刪除單一欄。
※使用DELETE必須小心,每次執行都有可能意外刪除掉必要的資料。
※使用時定要確認WHERE所下的條件精確與否。
※由於DELETE不精準,因此刪除前最好先SELECT確定刪除對象是否正確。
example:
//原始資料表
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 林瀨瑤 | 20 | 女 | 東京 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
//刪除name欄位為江小魚的資料。
DELETE FROM employess
WHERE name = '江小魚';
| name | age | gender | city |
| 林瀨瑤 | 20 | 女 | 東京 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
example:
//原始資料表
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 林瀨瑤 | 20 | 女 | 東京 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
//刪除年齡20歲且為女性的資料。
DELETE FROM employess
WHERE age = 20 AND gender = "女";
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
回憶一下INSERT,INSERT 與 DELETE
example:
//原始資料表
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 林瀨瑤 | 20 | 女 | 東京 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
//插入一筆資料
INSERT INTO employees_info
VALUES('吳英雄', 27, '男', '高雄' );
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 林瀨瑤 | 20 | 女 | 東京 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
| 吳英雄 | 27 | 男 | 高雄 |
//刪除前先用SELECT確定要刪除的資料是否正確。
SELECT * FROM employees_info
WHERE name = '林瀨瑤' AND gender = '女';
| name | age | gender | city |
| 林瀨瑤 | 20 | 女 | 東京 |
//刪除資料
DELETE FROM employees_info
WHERE name = '林瀨瑤' AND gender = '女';
| name | age | gender | city |
| 江小魚 | 20 | 男 | 台北 |
| 古小三 | 22 | 女 | 台北 |
| 塵在天 | 26 | 男 | 高雄 |
| 吳英雄 | 27 | 男 | 高雄 |
閱讀階段心得:
資料庫規劃在實做上其實會有Primary Key,來代表資料表中唯一的一筆資料,確保不重複,而在employess_info設計上通常會加上一各員工編號來做Primary Key,以便識別,關於PK後面在來敘述。
閱讀到此,我想,像關於員工資料,在實際情境下,能夠刪除員工資料的人員,必定是具有管理權限的人事單位,而刪除員工資料在搜尋上因該是會以員工身分證號來找出員工編號,再以員工編號來執行刪除,若是有誤之處請指正之。
UPDATE 改變資料
※UPDATE可以修改已存在的資料。
※UPDATE可以搭配WHERE使用。
※UPDATE能夠只調整需要改變的欄位。
example:
//原始資料表
| name | type | price |
| 可樂 | 汽水 | 25 |
| 芒果汁 | 果汁 | 40 |
| 黃色淺水艇 | 酒精 | 100 |
| 台灣啤酒 | 酒精 | 40 |
| 香蕉冰沙 | 冰沙 | 60 |
//SET用來指定將改調整的欄位與值。
UPDATE drinks_info
SET price = 35
WHERE name = '可樂' AND price = 25;
| name | type | price |
| 可樂 | 汽水 | 35 |
| 芒果汁 | 果汁 | 40 |
| 黃色淺水艇 | 酒精 | 100 |
| 台灣啤酒 | 酒精 | 40 |
| 香蕉冰沙 | 冰沙 | 60 |
※UPDATE若沒加上WHERE使用,則所有SET提到的欄位全部都會被修改。
如上例,若沒加上WHERE則所有的price都會被改成35。
example:
//SQL中可以對欄位套用基礎數學運算。
//原始資料表
| name | type | price |
| 可樂 | 汽水 | 35 |
| 芒果汁 | 果汁 | 40 |
| 黃色淺水艇 | 酒精 | 100 |
| 台灣啤酒 | 酒精 | 40 |
| 香蕉冰沙 | 冰沙 | 60 |
//修改所有酒精類飲料的價格,原本價格再加五元
UPDATE drinks_info
SET price = price +5
WHERE name = '酒精' ;
| name | type | price |
| 可樂 | 汽水 | 35 |
| 芒果汁 | 果汁 | 40 |
| 黃色淺水艇 | 酒精 | 105 |
| 台灣啤酒 | 酒精 | 45 |
| 香蕉冰沙 | 冰沙 | 60 |
訂閱:
文章 (Atom)
