Java วิธีใช้ try with resources ใน Java 7 Code สวยขึ้นหมดห่วงเรื่อง Close  สร้างคำถาม

 2,291 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 30/10/2018

Java วิธีใช้ try with resources ใน Java 7 Code สวยขึ้นหมดห่วงเรื่อง Close

Java วิธีใช้ try with resources ใน Java 7
Code สวยขึ้นหมดห่วงเรื่อง Close Connection
ก่อนหน้านั้นไม่ว่าเราจะเขียนโปรแกรม อ่านไฟล์ หรือ ต่อ Database
จะต้องมีการย้ำคิดถึงเรื่อง การคืน resource การ close file , close connection
แถมต้องพวกด้วย Try , Catch block ที่ครอบแล้วครอบอีกทำให้ Code เราอ่านยากมากๆ
วันนี้จะมาแนะนำ Feature ของ Java 7 ที่ทำให้เราสามารถเขียน Try with resource ได้
ตามตัวอย่างนี้เลย


//แบบเก่า
public void Test() {
String sql = " Select * from test ";
try {
Connection con = DriverManager.getConnection(myConnectionURL);
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
// logic with RS
}
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

จะเห็นได้ว่ายังต้องมีการ Close resource ต่างๆ ถ้าหากทำไม่ดีพอ
อาจเกิดปัญหา Connection เต็มได้นะ

//แบบใหม่
public void Test() {
try (Connection con = DriverManager.getConnection(myConnectionURL);
PreparedStatement ps = createPreparedStatement(con);
ResultSet rs = ps.executeQuery()) {
// logic with RS
} catch (SQLException e) {
e.printStackTrace();
}
}

private PreparedStatement createPreparedStatement(Connection con) throws SQLException {
String sql = " Select * from test ";
PreparedStatement ps = con.prepareStatement(sql);
return ps;
}

จะเห็นได้ว่า Code สวยขึ้นเยอะ
แถมไม่ต้องกังวลเรื่องการ Close Connection ด้วยนะ


ถ้าชอบบทความนี้ กด Like เลย :Java วิธีใช้ try with resources ใน Java 7 Code สวยขึ้นหมดห่วงเรื่อง Close
TAGS : Java   Java Programmer   โปรแกรมมิ่ง  
 2,291 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 30/10/2018



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่




× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  คำสั่งในการ Manage site Ubuntu เพื่อสร้าง host domain ต่างๆ ถามเมื่อ (2016-07-27)   2,185 views  (ดูล่าสุดเมื่อ 24 วินาที!!)

  Oracle Format Date แบบนี้ 30 DEC 2014 ทำอย่างไรครับ ถามเมื่อ (2017-03-03)   2,912 views  (ดูล่าสุดเมื่อ 3 นาที)

  JSF 2 0 Tutorial ตัวอย่างพร้อมวิธีการ Step by Step ถามเมื่อ (2014-06-15)   3,938 views  (ดูล่าสุดเมื่อ 10 นาที)

  jsp include directive vs include action สองตัวนี้ต่างกันยังไง ถามเมื่อ (2015-09-14)   2,533 views  (ดูล่าสุดเมื่อ 17 นาที)

  สมเกียรติ เขมะจารัง ถามเมื่อ (2011-10-23)   2,735 views  (ดูล่าสุดเมื่อ 43 นาที)

  Java script iframe จะเรียกใช้ function ใน mainframe ได้อย่างไร ถามเมื่อ (2012-10-24)   3,149 views  (ดูล่าสุดเมื่อ 52 นาที)

  เทคนิค ตั้ง crontab ให้ run ทุกๆ 15 วินาที ถามเมื่อ (2016-09-13)   2,962 views  (ดูล่าสุดเมื่อ 64 นาที)

  คำสั่ง Unix VI เบื้องต้น รู้คร่าวๆ พอให้แก้ปัญหาเฉพาะหน้าได้นะ ถามเมื่อ (2018-04-24)   2,372 views  (ดูล่าสุดเมื่อ 68 นาที)

  jFreechart วิธีทำ Custom Label เพื่อแสดงผลบนกราฟดั่งใจเรา ถามเมื่อ (2017-03-03)   2,323 views  (ดูล่าสุดเมื่อ 78 นาที)

  POJO คืออะไรในภาษา Java คือ Object ธรรมดาๆ หรือเปล่า ถามเมื่อ (2015-08-28)   8,553 views  (ดูล่าสุดเมื่อ 79 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com