การเพ มข_อม_ลลงฐานข_อม_ลด_วยภาษา jsp&sql
TRANSCRIPT
1การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
Database (ฐานข้�อมู�ล)
คื�อระบบที่��รวบรวมข้อม�ลไวในที่��เด้�ยวก�นซึ่!�งประกอบไปด้วยแฟ้%มข้อม�ล (File) ระเบ�ยน (Record) และเข้ตข้อม�ล (Field) และถู�กจั�ด้การด้วยระบบเด้�ยวก�นโปรแกรมคือมพิ่�วเตอร*จัะเข้าไปด้!งข้อม�ลที่��ตองการได้อย+างรวด้เร,ว ซึ่!�งอาจัเปร�ยบฐานข้อม�ลเสม�อนเป.นelectronic filing system
การเข้าถู!งข้อม�ลในฐานข้อม�ลจั!งจั/าเป.นตองม�ระบบการจั�ด้การฐานข้อม�ลมาช่+วยเร�ยกว+าDatabase management system (DBMS) ซึ่!�งจัะช่+วยให้ผู้�ใช่สามารถูจั�ด้การก�บข้อม�ลตามคืวามตองการได้ในห้น+วยงานให้ญ่+ๆ อาจัม�ฐานข้อม�ลมากกว+า 1 ฐานข้อม�ลเช่+นฐานข้อม�ลบ5คืลากรฐานข้อม�ลล�กคืาฐานข้อม�ลส�นคืาเป.นตน
2การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
DAO (Data Access Objects)เป.น application program interface (API)ก�บ Visual
Basic ข้อง Microsoft ที่��ให้ผู้�เข้�ยนโปรแกรมข้อเข้าถู!งฐานข้อม�ล Microsoft Access ได้ DAO เป.นอ�นเตอร*เฟ้ซึ่แรกแบบ object-
oriented ก�บฐานข้อม�ลข้อง เพิ่��อให้ programmer สามารถูเข้าใช่งาน database ประเภที่ต+างๆ ได้โด้ยง+าย
JavaBean ในการเข้�ยน JSP ส/าห้ร�บระบบให้ญ่+ๆ ส+วนให้ญ่+จัะไม+น�ยมใส+ java
code ลงไปในไฟ้ล* JSP ส��งที่�� อย�+ในไฟ้ล*ม�กจัะเป.นเพิ่�ยง HTML code
และคื+าข้อง variables(data) ต+างๆ ที่��ได้มาจัาก JavaBeans เที่+าน�6นข้�อดี�ข้อง การใช้� JavaBean
- สามารถูที่/างานได้บนที่5กๆ ระบบปฏิ�บ�ต�การ โด้ยที่��ไม+ตองที่/าการ Compile ให้ม+ที่5กคืร�6ง- ม�การ load ลงห้น+วยคืวามจั/าเพิ่�ยงคืร�6งเด้�ยวจันกว+าจัะม�การเล�กใช่งานโปรแกรม- สามารถูน/า Component ที่��เข้�ยนมาแลว กล�บมาใช่ให้ม+ได้อ�ก- สามารถูน/าคืวามร� ที่��ใช่ในภาษา Java มาใช่ในการเข้�ยนโปรแกรมร+วมด้วยได้
JSP & Servlet
3การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
JavaServer Pages (JSP) เป.นเที่คืโนโลย�การเข้�ยนโปรแกรมฝั่9� งเซึ่�ร*ฟ้เวอร*ที่��ช่+วยให้การสรางห้นาเว,บแบบได้นาม�กและการประย5กต*ใช่ ซึ่!�งที่/าได้โด้ยการฝั่9งรห้�ส Java เป.น HTML, XML, DHTML, ห้ร�อประเภที่เอกสารอ��น ๆ เม��อเว,บเบราว*เซึ่อร*ที่/าให้คื/าข้อไปย�งที่��เก,บโปรแกรม Java ซึ่!�งตามปกต�จัะเป.นเว,บเซึ่�ร*ฟ้เวอร*, ห้นาคืงถู�กแปลงอย�+เบ�6องห้ล�งและ แสด้งเป.นเน�6อห้าแบบได้นาม�กก�บต�ว JSP
Servlets เป.น Componet ด้านเซึ่�ร*ฟ้เวอร*ที่��ม�ประส�ที่ธิ�ภาพิ่ ในการพิ่�ฒนาโปรแกรมฝั่9� งเซึ่�ร*ฟ้เวอร* ที่/าห้นาที่�� จั�ด้การก�บ request และ response ต+างๆ และส+งคื+าไปแสด้งผู้ลใน JSP
ภาพิ่ที่��อธิ�บายถู!งการที่/างานข้อง Servlet และ JSP เม��อม�ผู้�ใช่มาใช่งานห้นาเว,ปผู้+าน เว,ป Browser ซึ่!�งการที่/างานคื�อ เราจัะม� Web server
4การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
application ต�วน!งเช่+น Apache Tomcat ไวรองร�บ request ต+างๆๆ แลวก,จัะส+งต+อให้ container ไปเร�ยก servlet ให้ที่/างานตามที่�� request มาเช่+น request ไปเพิ่��อข้อข้อม�ลล�กคืา servlet ก,จัะไปที่/าการด้!งข้อม�ลล�กคืาออกมา แลวก,ส+งคื+าต+างๆๆไปที่�� JSP
เอสคิ�วแอล (SQL)
SQL ย+อมาจัาก structured query language คื�อภาษาที่��ใช่ในการเข้�ยนโปรแกรม เพิ่��อจั�ด้การก�บฐานข้อม�ลโด้ยเฉพิ่าะ เป.นภาษามาตราฐานบนระบบฐานข้อม�ลเช่�งส�มพิ่�นธิ*และเป.นระบบเป=ด้ (open system)
ห้มายถู!งเราสามารถูใช่คื/าส��ง sql ก�บฐานข้อม�ลช่น�ด้ใด้ก,ได้ และ คื/าส��งงานเด้�ยวก�นเม��อส��งงานผู้+าน ระบบฐานข้อม�ลที่��แตกต+างก�นจัะได้ ผู้ลล�พิ่ธิ*เห้ม�อนก�น ที่/าให้เราสามารถูเล�อกใช่ฐานข้อม�ล ช่น�ด้ใด้ก,ได้โด้ยไม+ต�ด้ย!ด้ก�บฐานข้อม�ลใด้ฐานข้อม�ลห้น!�ง นอกจัากน�6แลว SQL ย�งเป.นช่��อโปรแกรมฐานข้อม�ล ซึ่!�งโปรแกรม SQL เป.นโปรแกรมฐานข้อม�ลที่��ม�โคืรงสรางข้องภาษาที่��เข้าใจัง+าย ไม+ซึ่�บซึ่อน ม�ประส�ที่ธิ�ภาพิ่การที่/างานส�ง สามารถูที่/างานที่��ซึ่�บซึ่อนได้โด้ยใช่คื/าส��งเพิ่�ยงไม+ก��คื/าส� �ง โปรแกรม SQL จั!งเห้มาะที่��จัะใช่ก�บระบบฐานข้อม�ลเช่�งส�มพิ่�นธิ* และเป.นภาษาห้น!�ง
ป9จัจั5บ�นม�ซึ่อฟ้ต*แวร*ระบบจั�ด้การฐานข้อม�ล (DBMS ) ที่��สน�บสน5นการใช่คื/าส��ง SQL เช่+น Oracle , DB2, MS-SQL, MS-Access
นอกจัากน�6ภาษา SQL ถู�กน/ามาใช่เข้�ยนร+วมก�บโปรแกรมภาษาต+างๆ เช่+น ภาษา c/C++ , VisualBasic และ Java
ประเภทข้องคิ�าส��งภาษา SQL
5การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
1. ภาษาน�ยามูข้�อมู�ล(Data Definition Language :
DDL)เป.นคื/าส��งที่��ใช่ในการสรางฐานข้อม�ล ก/าห้นด้โคืรงสรางข้อม�ลว+าม� Attribute ใด้ ช่น�ด้ข้องข้อม�ล รวมที่�6งการเปล��ยนแปลงตาราง และการสรางด้�ช่น� คื/าส��ง : CREATE,DROP,ALTER
ภาษา DDL ประกอบด้วย 3 คื/าส��งคื�อ• คิ�าส��งการสร�าง (Create) ไดี�แก" การสร�างตารางและอ�นเดี$ก
ซ์&CREATE TABLE <Table name>( Attribute 1 Type 1,Attribute 2 Type 2 ,)CREATE Unique Index on X<Table name>
เช่+นCREATE TABLE S11(SNO CHAR(5) Not NULL,SNAME CHAR(10) ,STATUS
integer)CREATE Unique Index XS11 on S11(SNO)
• คิ�าส��งเปล��ยนแปลงโคิรงสร�างALTER TABLE <ช่��อตารางที่��ต� 6งข้!6น ><คื/าส��งการเปล��ยนแปลง> (<ช่��อคือล�มน*ประเภที่ข้อม�ล>);
ต�วอย+างเช่+นALTER TABLE SUPPLIERADD (LAST_SNAME Char(10));
• คิ�าส��งยกเล�ก (Drop) ต"างๆการลบโคืรงสรางตารางDROP TABLE <ช่��อตารางที่��ต� 6งข้!6น >
2. ภาษาจั�ดีการข้�อมู�ล (Data Manipulation
Language :DML)ห้ล�งจัากที่��เราสรางโคืรงสรางฐานข้อม�ลข้!6นแลว
6การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
คื/าส��งต+อไปในการป%อนข้อม�ลลงในฐานข้อม�ลและเปล��ยนแปลงข้อม�ล� ในฐานข้อมล� โด้ยการใช่ภาษาส/าห้ร�บการจั�ด้การข้อม�ล (Data
ManipulationLanguage-DML) ใช่จั�ด้การข้อม�ลภายในตารางภายในฐานข้อม�ล และภาษาแกไข้เปล��ยนแปลงตาราง
แบ+งออกเป.น 4 Statement คื�อ• Select Statement :การเร�ยกห้า (Retrieve) ข้อม�ลจัาก ฐาน
ข้อม�ล• Insert Statement :การเพิ่��มเต�มข้อม�ลลงใน ตาราง (Table)
จัาก ฐานข้อม�ล• Delete Statement: การลบข้อม�ลลงออกจัาก ตาราง
(Table) จัาก ฐานข้อม�ล• Update Statement: การเปล��ยนแปลงข้อม�ลลงใน ตาราง
(Table) จัาก ฐานข้อม�ล
3. ภาษาคิวบคิ+มูข้�อมู�ล (Data Control Language
: DCL)ใช่เป.นภาษาที่��ใช่คืวบคื5มระบบร�กษาคืวามปลอด้ภ�ย ข้องฐานข้อม�ล ประกอบด้วยคื/าส��ง 2 คื/าส��งคื�อ
• คื/าส��ง GRANT เป.นคื/าส��งที่��ใช่ก/าห้นด้ส�ที่ธิ�ให้ก�บผู้�ใช่แต+ละคืนให้ม�ส�ที่ธิกระที่/าการใด้ก�บข้อม�ลเช่+น
7การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
การเพิ่��มข้อม�ล การแกไข้ ห้ร�อ การลบข้อม�ลในตารางใด้บาง• คื/าส��ง REVOKE เป.นคื/าส��งให้ม�การยกเล�กส�ที่ธิน�6นห้ล�งจัากที่��ได้
GRANT แลว
ประโยช่น*ข้องภาษา SQL 1. สรางฐานข้อม�ลและ ตาราง 2. สน�บสน5นการจั�ด้การฐานข้อม�ล ซึ่!�งประกอบด้วย การเพิ่��ม การ
ปร�บปร5ง และการลบข้อม�ล3. สน�บสน5นการเร�ยกใช่ห้ร�อ คืนห้าข้อม�ล
คิ�าส��งเพิ่��มูข้�อมู�ล (Insert Statement)
Insert Structure :: การเพิ่��มูข้�อมู�ลท+กคิอล�มูน& ท��ไดี�สร�างไว�Subject : การเพิ่��มข้อม�ลที่5กคือล�มน* ที่��ได้สรางไวsyntax : INSERT INTO table_name VALUES ( 'value_1', 'value_2', ..., 'value_n' );comment : INSERT INTO person VALUES ( 1, 'bamboo', 'labcode' );
Insert Structure :: การเพิ่��มูข้�อมู�ลเฉพิ่าะคิอล�มูน& ท��ก�าหนดีSubject : การเพิ่��มข้อม�ลเฉพิ่าะคือล�มน* ที่��ก/าห้นด้syntax : INSERT INTO table_name
8การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
( column_name_1, column_name_2, ...,column_name_n )VALUES ( 'value_1', 'value_2', ..., 'value_n' );comment : INSERT INTO person ( first_name, last_name )VALUES ( 'bamboo', 'labcode' );
Insert Structure :: การเพิ่��มูข้�อมู�ลคิร�/งละหลาย recordSubject : การเพิ่��มข้อม�ลคืร�6งละห้ลาย recordSyntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n )VALUES ( 'value_1', 'value_2', ..., 'value_n' ),( 'value_1', 'value_2', ..., 'value_n' ),( 'value_1', 'value_2', ..., 'valuhttp://www.bamboolabcode.com/article/savee_n' );comment : INSERT INTO person ( first_name, last_name )VALUES ( 'bamboo', 'labcode' ),( 'david', 'beckhame' ),( 'micheal', 'owen' );Insert Structure :: การเพิ่��มูข้�อมู�ลคิร�/งละหลาย recordSubject : การเพิ่��มข้อม�ลคืร�6งละห้ลาย recordsyntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n )VALUES ( 'value_1', 'value_2', ..., 'value_n' ),
9การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
( 'value_1', 'value_2', ..., 'value_n' ),( 'value_1', 'value_2', ..., 'valuhttp://www.bamboolabcode.com/article/savee_n' );comment : INSERT INTO person ( first_name, last_name )VALUES ( 'bamboo', 'labcode' ),( 'david', 'beckhame' ),( 'micheal', 'owen' );
Insert Structure :: การเพิ่��มูข้�อมู�ล โดียข้�อมู�ลไดี�จัากการคิ�ดีลอกมูาจัากตารางอ0�นsubject : การเพิ่��มข้อม�ล โด้ยข้อม�ลได้จัากการคื�ด้ลอกมาจัากตารางอ��นsyntax : INSERT INTO table_name ( column_name_1, column_name_2, ..., column_name_n )SELECT column_name_1, column_name_2, ..., column_name_nFROM table_nameWHERE condition;comment : INSERT INTO customer ( id, customer_name, customer_sex )select person_id, person_name, person_sexFROM personWHERE person_sex = 'man';
คื/าส��งการเพิ่��มข้อม�ลในตารางจัะใช่คื/าส� �ง INSERT จัะม�อย�+ 2
ร�ปแบบคื�อ การเพิ่��มข้อม�ลเข้าไปที่�ละแถูว และ การเพิ่��มข้อม�ลโด้ยการด้!งกล5+มข้อม�ลด้วยคื/าส��งคืนห้าข้อม�ล
10การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
คื/าส��งการเพิ่��มข้อม�ลที่�ละแถูวโด้ยระบ5ข้อม�ลที่��จัะ INSERT เข้าไปโด้ยตรง ร�ปแบบข้องคื/าส��งเป.นด้�งน�6
INSERT INTO Tablename (column 1, column 2,…)VALUES ( 'Value1', 'Value2', 'Value..n' )"
INSERT INTO เป.นคื/าส� �งที่��ตองม�ที่5กคืร�6งที่��ตองการเพิ่��มข้อม�ล
tablename ห้มายถู!งช่��อข้องตารางที่��จัะที่/าการเพิ่��มข้อม�ล
column 1 ห้มายถู!งคือล�มน*ที่��ตองการเพิ่��มข้อม�ลValue1 ห้มายถู!งคื+าต+างๆที่��จัะเพิ่��มให้ก�บฟ้=ลด้*น�6นๆ
พิ่าราม�เตอร*คื+าข้อม�ลน�6น คื�อ คื+าข้องข้อม�ลที่��เราจัะก/าห้นด้ ให้แต+ละคือล�มน* โด้ยเร�ยงตามล/าด้�บที่��ปรากฏิในตาราง ซึ่!�งตองเป.นไปตามเง��อนไข้ด้�งน�6
คื+าข้องข้อม�ลแต+ละคือล�มน*ตองคื��นด้วยเคืร��องห้มาย ,คื+าข้องข้อม�ลน�6นตองม�ช่น�ด้ที่��ตรงก�นก�บช่น�ด้ข้องข้อม�ลข้องคือล�มน*
ต�วอย+าง ถูาตองการจัะใส+ข้อม�ลที่5กคือล�มน*ลงในตารางล�กคืาINSERT INTO SALESTABVALUES( 1001, “Chaiwat”, “Bangkok”,0.12);
ผู้ลข้องคื/าส��งน�6 จัะม�ข้อม�ลปรากฏิในที่5กคือล�มน*ในตารางพิ่น�กงานข้ายด้�งน�6
11การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
SALENO SALENAME ADDRESS SALECOM
1001 Chaiwat Bangkok 0.12
ต�วอย+าง ถูาตองการจัะใส+ข้อม�ลบางคือล�มน* เช่+น ช่��อเม�อง Bangkok ช่��อล�กคืา Arlee และห้มายเลข้ล�กคืา 2001 ลงในตารางล�กคืา ใช่คื/าส� �งด้�งน�6
INSERT INTO CUSTOMERSTAB(ADDRESS,CUSNAME,CUSNO)
VALUES( 'Bangkok','Arlee', 2001);
ผู้ลข้องคื/าส��งในตารางล�กคืา จัะที่/าให้คือล�มน* ADDRESS ม�คื+าเป.น Bangkok คือล�มน* CUSNAME จัะม�คื+าเป.น Arlee
คือล�มน* CUSNO จัะม�คื+าเป.น 2001 ด้�งน�6CUSNO CUSNAME ADDRESS RATING SALENO
2001 Arlee Bangkok
จัะเห้,นว+าไม+ได้ใส+คื+าในคือล�มน* RATING และ SALENO ไว ด้�งน�6นที่�6งสองคือล�มน*น�6จัะม�คื+าเป.น NULL โด้ยอ�ตโนม�ต�
คื/าส� �งการเพิ่��มข้อม�ลโด้ยการด้!งกล5+มข้อม�ลด้วยคื/าส��งคืนห้าข้อม�ล ในภาษา SQL สามารถูใช่คื/าส� �ง INSERT ในการน/าคื+าห้ร�อห้าคื+าจัากตารางห้น!�งแลวไปใส+ไวในอ�กตาราห้น!�งได้ โด้ยได้คื+าน�6นมาจัากการสอบถูามข้อม�ล ร�ปแบบเป.นด้�งน�6
INSERT INTO Tablename (column 1, column 2,…)
12การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
SELECT statement;
INSERT INTO <table name>[(column 1, column 2,…)]
SELECT statement;
INSERT INTO เป.นคื/าส� �งที่��ตองม�ที่5กคืร�6งที่��ตองการเพิ่��มข้อม�ล
tablename ห้มายถู!งช่��อข้องตารางที่��จัะที่/าการเพิ่��มข้อม�ล
column 1 ห้มายถู!งคือล�มน*ที่��ตองการเพิ่��มข้อม�ลSELECT statement ประโยคืคื/าส��ง SELECT ที่��ตองการ
ข้อม�ลอ�กตารางห้น!�งต�วอย+าง ถูาตองการใส+ข้อม�ลพิ่น�กงานลงในตาราง
BANGKOKSTAFF โด้ยข้อม�ลที่��จัะใส+ลงไปน�6นได้มาจัากตารางพิ่น�กงานข้ายที่��อาศั�ยอย�+ใน “Bangkok“
INSERT INTO BANGKOKSTAFFSELECT *FROM SALESTABWHERE ADDRESS = ‘Bangkok’;
13การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
ผู้ลข้องคื/าส��งน�6จัะที่/าให้ได้ข้อม�ลพิ่น�กงานที่��อย�+ในเม�อง Bangkok ( ADDRESS = ‘Bangkok’) ที่�6งห้มด้ไปใส+ไวในตาราง BANGKOKSTAFF โด้ยตาราง BANGKOKSTAFF ได้ถู�กสรางไวแลวด้วยคื/าส��ง CREATE TABLE ในการสรางตาราง BANGKOKSTAFF จัะตองสรางให้ม� 4 คือล�มน*และม�ช่น�ด้ข้อม�ลตรงก�บคือล�มน*ข้องตารางพิ่น�กงานข้าย (โด้ยไม+จั/าเป.นตองม�ช่��อคือล�มน*เห้ม�อนก�น)
ว�ธี�การสร�างตารางในฐานข้�อมู�ล โดียใช้�Navicat
1.คืล�กข้วาที่�� Connection ช่��อ MyHost แลวสรางฐานข้อม�ล โด้ยเข้าไปเล�อกที่�� New Database…
14การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
2.ต�6งช่��อ Database ช่��อ cartoonbook ก/าห้นด้ Character set เป.น utf8 – UTF-8 Unicode และ Collation เป.น utf8_genral_ci เพิ่��อให้ฐานข้อม�ลรองร�บภาษาไที่ยได้
3.สรางตารางข้องฐานข้อม�ล โด้ยด้�บเบ�6ลคืล�กไปที่��ฐานข้อม�ลที่��สรางข้!6น แลวคืล�กข้วาที่�� Table เล�อก New table
15การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
4.จัากน�6นจัะได้ตารางด้�งร�ป
5.สราง Fields ช่��อ member_id เพิ่��ออางอ�งข้อม�ล และก/าห้นด้คื+าต+างๆด้�งน�6
Type ก/าห้นด้ช่น�ด้ฟ้=ลด้*เป.น int
16การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
Length ก/าห้นด้ข้นาด้ฟ้=ลด้*ตามคืวามตองการ Decimals ก/าห้นด้จั/านวนห้ล�กต�วเลข้ ห้ล�งจั5ด้ที่ศัน�ยม (กรณี�ที่��เล�อก
ฟ้=ลด้*เป.นช่น�ด้ต�วเลข้ที่ศัน�ยมเที่+าน�6น Allow Null ต�@กถู�กคื�อ อน5ญ่าตให้ฟ้=ลด้*น�6เป.นคื+าว+างได้ แต+ถูาไม+ต�@กก,
เที่+าก�บห้ามม�คื+าว+างช่+องว+าง ก/าห้นด้ฟ้=ลด้*เป.น ไพิ่รมาร�คื�ย*
6.สราง Fields ต+างๆ ตามข้อม�ลที่��ตองการจั�ด้เก,บลงบนฐานข้อม�ล
7.เม��อสราง Fields เสร,จัแลว ให้กด้ Save และก/าห้นด้ช่��อตาราง
17การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
8.ห้นาต+างข้องตารางฐานข้อม�ล ที่��สรางข้!6น
การเพิ่��มูข้�อมู�ลในฐานข้�อมู�ลดี�วยภาษา JSP และ SQL
- การสราง Class Bean เพิ่��อร�บส+งข้อม�ล
18การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
1. สราง Package ให้ม+ข้!6นมา โด้ยคืล�กที่�� Java Resources แลวคืล�กข้วาที่�� src เข้าไปที่��New >Package
2.ต�6งช่��อ Package ช่��อ com.model
3.สราง Class ใน Packagecom.model
19การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
4.ต�6งช่��อ Class ช่��อ MembersBean
5.ประกาศัต�วแปรที่��ตองการจัะเก,บ
20การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
6.สราง getters และ setters ข้!6นมา โด้ยคืล�กข้วาที่��บรรที่�ด้ข้างล+างข้องการประกาศัต�วแปร เล�อกไปที่�� source > Generate Getters and
Setters
7.เล�อก Select All เพิ่��อ Generate ที่5กต�ว
21การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
8.ห้ล�งจัาก Generate เสร,จัจัะได้ด้�งร�ป
- การสราง Class DAO เพิ่��อต�ด้ต+อก�บ DataBase
1. สราง Package ให้ม+ตามร�ป
22การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
2.ต�6งช่��อ package ช่��อ com.manager
3. สราง class ใน package com.manager
23การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
4. ต�6งช่��อ class ช่��อ MemberDAO
5.ประกาศัต�วแปรใน class MemberDAO
24การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
6.สรางเมธิอด้ addMembers ในคืลาส MemberDAO เพิ่��อที่/าห้นาที่�� Insert ข้อม�ลไปเก,บใน database เม��อม�การเพิ่��มข้อม�ล
25การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
7. การเร�ยกใช่ method createConnection()จัาก class
DBConnect และการเพิ่��มการกระที่/าตามๆที่��ตองการไปเก,บใน Database
26การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
- การเข้�ยน Code ใน Servlet
1.ประกาศั Object mem ข้อง Class MembersBean เพิ่��อเอาไวร�บคื+า และเพิ่��อเร�ยกใช่เมธิอด้ห้ร�อต�วแปรใน Class MembersBean
2.ประกาศั Object memdao ข้อง Class MembersDAO เพิ่��อเร�ยกใช่เมธิอด้ห้ร�อต�วแปรใน Class MembersDAO
27การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
Code Class MembersBeanpackagecom.model;
publicclassMembersBean {privateintmember_id ;private String member_username;private String member_password ;private String member_firstname ;private String member_lastname ;private String member_sex ;private String member_cartoon[] ;private String member_address ;private String member_county ;private String member_phone ;private String member_email ;private String member_image ;
publicintgetMember_id() {returnmember_id;
}publicvoidsetMember_id(intmember_id) {
this.member_id = member_id;}public String getMember_username() {
returnmember_username;}publicvoidsetMember_username(String member_username) {
this.member_username = member_username;}public String getMember_password() {
returnmember_password;}publicvoidsetMember_password(String member_password) {
this.member_password = member_password;}public String getMember_firstname() {
returnmember_firstname;}publicvoidsetMember_firstname(String member_firstname) {
this.member_firstname = member_firstname;}public String getMember_lastname() {
returnmember_lastname;}publicvoidsetMember_lastname(String member_lastname) {
this.member_lastname = member_lastname;}public String getMember_sex() {
28การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
returnmember_sex;}publicvoidsetMember_sex(String member_sex) {
this.member_sex = member_sex;}public String[] getMember_cartoon() {
returnmember_cartoon;}publicvoidsetMember_cartoon(String[] member_cartoon) {
this.member_cartoon = member_cartoon;}public String getMember_address() {
returnmember_address;}publicvoidsetMember_address(String member_address) {
this.member_address = member_address;}public String getMember_county() {
returnmember_county;}publicvoidsetMember_county(String member_county) {
this.member_county = member_county;}public String getMember_phone() {
returnmember_phone;}publicvoidsetMember_phone(String member_phone) {
this.member_phone = member_phone;}public String getMember_email() {
returnmember_email;}publicvoidsetMember_email(String member_email) {
this.member_email = member_email;}public String getMember_image() {
returnmember_image;}publicvoidsetMember_image(String member_image) {
this.member_image = member_image;}
}
29การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
Code Class MemberDAOpackagecom.manager;
importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;
importcom.controller.DBConnect;importcom.model.MembersBean;
public class MemberDAO {staticDBConnectdbc = new DBConnect();static Statement stmt;
public static booleanaddMembers(MembersBeanmem){String sql = "INSERT INTO
membersbook(member_username,member_password,member_firstname," +
"member_lastname,member_sex,member_address,member_county," +
"member_phone,member_email,member_image) " +"VALUES('"+mem.getMember_username()
+"','"+mem.getMember_password()+"'" +",'"+mem.getMember_firstname()+
"','"+mem.getMember_lastname()+"'" +",'"+mem.getMember_sex()+"','"+mem.getMember_address()+
"','"+mem.getMember_county()+"'" +",'"+mem.getMember_phone()+"','"+mem.getMember_email()+
"','"+mem.getMember_image()+"')";try{
dbc.createConnection(); stmt = dbc.getStatement(); stmt.executeUpdate(sql);
}catch (SQLException ex){ ex.printStackTrace();return false;
}return true;}
}
30การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
Code Class CartoonBookServletpackagecom.controller;
importjava.io.IOException;
importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;
importcom.manager.MemberDAO;importcom.model.MembersBean;
/** * Servlet implementation class CartoonBookServlet */@WebServlet("/CartoonBookServlet")public class CartoonBookServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/** * @see HttpServlet#HttpServlet() */publicCartoonBookServlet() {super(); // TODO Auto-generated constructor stub }
/** * @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response) */protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);}
31การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
/** * @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response) */protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");String username = request.getParameter("username");String password = request.getParameter("password");String firstname =
request.getParameter("firstname");String lastname = request.getParameter("lastname");String sex = request.getParameter("sex");String cartoon[] =
request.getParameterValues("cartoon");String address = request.getParameter("address");String county = request.getParameter("county");String phone = request.getParameter("phone");String email = request.getParameter("email");String image = request.getParameter("image");
String page = "ProfileCartoonBook.jsp";
System.out.println("username"+username);System.out.println("password"+password);System.out.println("firstname"+firstname);System.out.println("lastname"+lastname);System.out.println("sex"+sex);System.out.println("cartoon"+cartoon);System.out.println("address"+address);System.out.println("county"+county);System.out.println("phone"+phone);System.out.println("email"+email);System.out.println("image"+image);
MembersBeanmem = new MembersBean();mem.setMember_username(username);mem.setMember_password(password);mem.setMember_firstname(firstname);mem.setMember_lastname(lastname);mem.setMember_sex(sex);
32การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
mem.setMember_cartoon(cartoon);mem.setMember_address(address);mem.setMember_county(county);mem.setMember_phone(phone);mem.setMember_email(email);mem.setMember_image(image);
MemberDAOmemdao = new MemberDAO();memdao.addMembers(mem);
RequestDispatcher dispatcher = request.getRequestDispatcher(page);
if(dispatcher != null){dispatcher.forward(request, response);System.out.println("send coeplete");}
}
}
33การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
ต�วอย"างการใช้�งาน1. Run ในห้นา JSP กรอกข้อม�ลสม�คืรช่�ก
2. เม��อกด้ตกลงแลว ข้อม�ลก,จัะมาแสด้งห้นาน�6 และข้อม�ลที่�6งห้มด้ก,จัะเก,บลงในตาราง Database ด้�งร�ป
34การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL
3.ข้อม�ลสมาช่�กได้เก,บลงใน Database เร�ยบรอยแลว และ member_id ก,เป.นต�วเร�ยงล/าด้�บข้องสมาช่�กที่��เข้ามาสม�คืรก+อนห้ล�ง
35การเพิ่��มข้อม�ลลงฐานข้อม�ลด้วยภาษา JSP&SQL