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 |  
              | 
         
        
                        | 
          
		  
		   | 
         
         
          |             
		  
	
      
     | 
     
 
 
		  
         | 
		
          
		   
		  
              
      
     |