How to use : Java GUI Example Database Class (Easy use) |
How to use : Java GUI Example Database Class ตัวอย่างนี้จะเป็นการออกแบบ Class สำหรับการจัดการกับ Database ต่าง ๆ ด้วย Java สามารถใช้ได้กับ Application ทุก ๆ ชนิดของ Java เช่น JSP หรือ GUI และอื่น ๆ สำหรับรูปแบบนั้นคือเป็นการย้ายการทำงานของ ส่วนการเชื่อมต่อและจัดการกับ Database มาไว้ในที่เดียวหรือไฟล์เดียว และตอนที่เรียกใช้ก็เพียงทำการ new คลาสนั้น ๆ และเรียกใช้ Method ต่าง ๆ ที่ต้องการ อาทิเช่น ResultSet ใช้การอ่านข้อมูล executeQuery ใช้สำหรับการ Execute เช่น Insert/Update/Delete โดยตัวอย่างนี้ยกตัวอย่างแบบง่าย ๆ เพื่อให้สามารถเข้าใจได้ง่ายและใช้ง่าย สามารถนำไปใช้ประยุกต์การใช้งานหรือพัฒนาเพิ่มได้ตามสบาย
How to use : ava GUI Example Database Class
ในตัวอย่างนี้จะเลือกใช้ Database ของ MySQL แต่ในกรณีที่จะใช้ร่วมกับ Database อื่น ๆ ก็สามารถทำได้ง่าย ๆ เพียงแค่เปลี่ยน Connector และ Connection String เท่านั้น สามารถอ่านเพิ่มเติมได้ที่บทความนี้
Java Connect to MySQL Database (JDBC)
โครงสร้างของ MySQL และ Table
CREATE TABLE `member` (
`UserID` int(4) unsigned zerofill NOT NULL auto_increment,
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL,
`Email` varchar(150) NOT NULL,
`Name` varchar(250) NOT NULL,
PRIMARY KEY (`UserID`),
UNIQUE KEY `User` (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- dump ตาราง `member`
--
INSERT INTO `member` VALUES (0001, 'weerachai', 'weerachai@1', '[email protected]', 'Weerachai Nukitram');
INSERT INTO `member` VALUES (0002, 'surachai', 'surachai@2', '[email protected]', 'Surachai Sirisart');
INSERT INTO `member` VALUES (0003, 'adisorn', 'adisorn@3', '[email protected]', 'Adisorn Bonsong');
คำสั่งของ SQL ที่สามารถนำไปรันบน Query เพื่อสร้าง Table และ Rows ได้ทันที
DatabaseConnect.java เป็น Class สำหรับจัดการกับ Database เช่น Connect , ResultSet และ executeQuery
package com.java.myapp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DatabaseConnect {
private static Connection connect = null;
private static Statement s = null;
public DatabaseConnect()
{
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase" +
"?user=root&password=root");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ResultSet getResultSet(String strSQL)
{
try {
s = connect.createStatement();
return s.executeQuery(strSQL);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public Boolean executeQuery(String strSQL)
{
try {
s = connect.createStatement();
s.execute(strSQL);
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
return false;
}
}
public void closeConnect()
{
try {
if (s != null) {
s.close();
connect.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
Select Data การเรียกใช้ Select หรืออ่านข้อมูล
/*** Connect Database ***/
DatabaseConnect connect = new DatabaseConnect();
/*** Select Query ****/
String sql = "SELECT * FROM customer " +
"ORDER BY CustomerID ASC";
ResultSet rec = connect.getResultSet(sql);
try {
while ((rec != null) && (rec.next())) {
System.out.println(rec.getString("CustomerID"));
System.out.println(rec.getString("Name"));
System.out.println(rec.getString("Email"));
System.out.println(rec.getString("CountryCode"));
System.out.println(rec.getString("Budget"));
System.out.println(rec.getString("Used"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*** Close Database ****/
connect.closeConnect();
Insert Data การเรียกใช้การ Insert หรือบันทึกข้อมูล
/*** Connect Database ***/
DatabaseConnect connect = new DatabaseConnect();
/*** Insert Query ****/
String sql = "INSERT INTO customer " +
"(CustomerID,Name,Email,CountryCode,Budget,Used) " +
"VALUES ('C005','Chai Surachai','[email protected]'" +
",'TH','1000000','0') ";
Boolean status = connect.executeQuery(sql);
if(status) {
System.out.print("Record Inserted Successfully");
} else {
System.out.print("Error Cannot Insert Data!");
}
/*** Close Database ****/
connect.closeConnect();
Update Data การเรียกใช้การ Update หรือแก้ไขข้อมูล
/*** Connect Database ***/
DatabaseConnect connect = new DatabaseConnect();
/*** Update Query ****/
String sql = "UPDATE customer " +
"SET Budget = '5000000' " +
" WHERE CustomerID = 'C005' ";
Boolean status = connect.executeQuery(sql);
if(status) {
System.out.print("Record Update Successfully");
} else {
System.out.print("Error Cannot Update Data!");
}
/*** Close Database ****/
connect.closeConnect();
Delete Data การเรียกใช้การ Delete หรือลบข้อมูล
/*** Connect Database ***/
DatabaseConnect connect = new DatabaseConnect();
/*** Delete Query ****/
String sql = "DELETE FROM customer " +
" WHERE CustomerID = 'C005' ";
Boolean status = connect.executeQuery(sql);
if(status) {
System.out.print("Record Delete Successfully");
} else {
System.out.print("Error Cannot Delete Data!");
}
/*** Close Database ****/
connect.closeConnect();
กรณีที่ใช้ร่วมกับ Database อื่น ๆ สามารถดูวิธีการใช้ Connector และ Connection String ได้ที่นี่
Property & Method (Others Related) |
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2013-09-10 10:13:28 /
2017-03-27 22:09:56 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|