กลับไปหน้าบทความ

อ่าน 3 นาที

อะปาเช่ ไอบาติส

มูลนิธิซอฟต์แวร์อาปาเช่/ชวา (ภาษาโปรแกรม)/การทำแผนที่เชิงวัตถุและเชิงสัมพันธ์/กรอบการคงอยู่

iBATISเป็นเฟรมเวิร์กสำหรับการจัดการข้อมูลถาวรซึ่งช่วยให้การแมปข้อมูลระหว่าง ฐานข้อมูล SQLและอ็อบเจ็กต์ใน Java, .

อะปาเช่ ไอบาติส

อะปาเช่ ไอบาติส
นักพัฒนามูลนิธิซอฟต์แวร์ Apache
เขียนเป็นJava , .NET , Ruby
ระบบปฏิบัติการข้ามแพลตฟอร์ม
พิมพ์กรอบงานความคงทน
ใบอนุญาตใบอนุญาต Apache 2.0
เว็บไซต์ibatis.apache.org

iBATISเป็นเฟรมเวิร์กสำหรับการจัดการข้อมูลถาวรซึ่งช่วยให้การแมปข้อมูลระหว่าง ฐานข้อมูล SQLและอ็อบเจ็กต์ใน Java, .NET และ Ruby on Rails เป็นไปโดยอัตโนมัติ ใน Java อ็อบเจ็กต์เหล่านั้นคือ POJO ( Plain Old Java Objects ) การแมปข้อมูลจะแยกออกจากตรรกะของแอปพลิเคชันโดยการบรรจุคำสั่ง SQL ไว้ใน ไฟล์การกำหนดค่า XML ผลลัพธ์ที่ได้คือการลดปริมาณโค้ดที่นักพัฒนาต้องเขียนเพื่อเข้าถึงฐานข้อมูลเชิงสัมพันธ์โดยใช้ API ระดับต่ำ เช่น JDBCและODBCอย่างมีนัยสำคัญ

เฟรมเวิร์กการจัดเก็บข้อมูลถาวรอื่นๆ เช่นHibernateอนุญาตให้ผู้ใช้สร้างโมเดลอ็อบเจ็กต์ (เช่น ในภาษา Java) และสร้างและบำรุงรักษาฐานข้อมูลเชิงสัมพันธ์โดยอัตโนมัติ iBATIS ใช้แนวทางตรงกันข้าม: นักพัฒนาเริ่มต้นด้วยฐานข้อมูล SQL และ iBATIS จะสร้างอ็อบเจ็กต์ Java โดยอัตโนมัติ ทั้งสองแนวทางมีข้อดี และ iBATIS เป็นตัวเลือกที่ดีเมื่อนักพัฒนาไม่สามารถควบคุมโครงสร้างฐานข้อมูล SQL ได้อย่างเต็มที่ ตัวอย่างเช่น แอปพลิเคชันอาจจำเป็นต้องเข้าถึงฐานข้อมูล SQL ที่มีอยู่ซึ่งใช้งานโดยซอฟต์แวร์อื่น หรือเข้าถึงฐานข้อมูลใหม่ที่โครงสร้างไม่ได้อยู่ภายใต้การควบคุมของนักพัฒนาแอปพลิเคชันอย่างเต็มที่ เช่น ในกรณีที่ทีมออกแบบฐานข้อมูลเฉพาะทางได้สร้างโครงสร้างและปรับแต่งอย่างระมัดระวังเพื่อประสิทธิภาพสูง

เมื่อวันที่ 21 พฤษภาคม 2553 ทีมพัฒนาได้แยกโค้ดออกมาสร้างโปรเจกต์ใหม่ชื่อMyBatisและออกเวอร์ชันใหม่ในโปรเจกต์นั้น ส่งผลให้โปรเจกต์ Apache iBATIS หยุดการพัฒนาและถูกย้ายไปยัง Apache Attic ในเดือนมิถุนายน 2553

การใช้งาน

ตัวอย่างเช่น สมมติว่ามีตารางฐานข้อมูลPRODUCT (PROD_ID INTEGER , PROD_DESC VARCHAR(64) )และคลาส Java com.example.Product (id: int , description: String )ในการอ่านเรคอร์ดผลิตภัณฑ์ที่มีคีย์PROD_ID ลงใน POJO ผลิตภัณฑ์ใหม่จะต้องเพิ่มการแมปต่อไปนี้ลงในไฟล์แมปปิ้ง XML ของ iBATIS:

<select id= "getProduct" parameterClass= "java.lang.Long" resultClass= "com.example.Product" > select PROD_ID as id, PROD_DESC as description from PRODUCT where PROD_ID = # value # </select>

จากนั้นสามารถดึงอ็อบเจ็กต์Java Product ใหม่จากฐานข้อมูลสำหรับหมายเลขผลิตภัณฑ์ 123 ได้ดังนี้:

ผลลัพธ์ของผลิตภัณฑ์= ( Product ) sqlMapClient.queryForObject ( " getProduct " , 123 );

ในตัวอย่างไฟล์แมปปิ้ง#value#หมายถึงค่าจำนวนเต็มยาวที่ส่งผ่านเข้าไปในคำสั่งค้นหา หากพารามิเตอร์เป็นอ็อบเจ็กต์ Java ค่าจากคุณสมบัติของอ็อบเจ็กต์นั้นสามารถแทรกเข้าไปในคำสั่งค้นหาได้โดยใช้#สัญลักษณ์ที่คล้ายกัน ตัวอย่างเช่น หากคลาสของพารามิเตอร์คือcom.example.Productซึ่งมีคุณสมบัติชื่อidก็#value#สามารถแทนที่ด้วย ได้#id#อ็อบเจ็กต์sqlMapClientเป็นอินสแตนซ์ของcom.ibatis.sqlmap.client.SqlMapClientคลาส

ความพร้อมใช้งาน

ผู้ก่อตั้ง iBATIS ได้แสดงความไม่พอใจต่อ Java 5 อย่างเปิดเผยแต่ก็ยังคงปล่อย iBATIS เวอร์ชันใหม่สำหรับ Java ออกมาอย่างต่อเนื่อง เวอร์ชัน 2.3.1 และ 2.3.2 ออกมาในเดือนเมษายน 2551 และเวอร์ชัน 2.3.3 ในเดือนกรกฎาคม

ปัจจุบันเฟรมเวิร์กนี้มีให้ใช้งานในเวอร์ชันJava , .NETและRuby (RBatis) โครงการ jBatiเป็นORM สำหรับ JavaScript ที่ได้รับแรงบันดาลใจจาก iBATIS

เครื่องมือ Apache iBatorมีความเกี่ยวข้องอย่างใกล้ชิด โดยจะเชื่อมต่อกับฐานข้อมูลของคุณและใช้เมตาเดต้าของฐานข้อมูลเพื่อสร้างไฟล์แมปปิ้ง iBATIS และคลาส Java

ประวัติศาสตร์

ในปี พ.ศ. 2544 โครงการชื่อ iBATIS ได้เริ่มต้นขึ้นโดย Clinton Begin เดิมทีเน้นที่การพัฒนาโซลูชันซอฟต์แวร์การเข้ารหัสลับ ผลิตภัณฑ์แรกที่ iBATIS ปล่อยออกมาคือ Secrets [ 1 ]ซึ่งเป็นเครื่องมือเข้ารหัสและลงนามข้อมูลส่วนบุคคลคล้ายกับ PGP Secrets เขียนขึ้นทั้งหมดด้วยภาษา Java และเผยแพร่ภายใต้ใบอนุญาตโอเพนซอร์ส

ในปีนั้นMicrosoftได้เผยแพร่เอกสาร[ 2 ] เพื่อแสดงให้เห็นว่าเฟรมเวิร์ก .NET 1.0 รุ่นล่าสุดมีประสิทธิภาพมากกว่าJavaเพื่อจุดประสงค์นั้น Microsoft ได้สร้างเวอร์ชันของเว็บ "Pet Store" ของ Sun ซึ่งเป็นโครงการเว็บที่ Sun เคยใช้เพื่อแสดงแนวทางปฏิบัติที่ดีที่สุดของ Java ( Java BluePrints ) Microsoftอ้างว่า . NET เร็วกว่า Javaถึง 10 เท่าและมีประสิทธิภาพมากกว่าถึง 4 เท่า

ในปี พ.ศ. 2545 Clinton ได้พัฒนาแอปพลิเคชันชื่อ JPetStore [ 3 ]เพื่อแสดงให้เห็นว่าJavaสามารถทำงานได้มีประสิทธิภาพมากกว่า.NETและยังสามารถทำได้ในขณะที่บรรลุสถาปัตยกรรมที่ดีกว่าที่ใช้ในการใช้งานของ Microsoft

JPetStore 1.0 มีผลกระทบอย่างมาก[ 4 ]และเลเยอร์ฐานข้อมูลที่ Clinton ใช้ดึงดูดความสนใจของชุมชน ในไม่ช้า โครงการ iBATIS Database Layer 1.0 ก็เริ่มต้นขึ้น โดยประกอบด้วยสองส่วน ได้แก่ iBATIS DAO และ iBATIS SQL Maps

iBATIS 2.0 เปิดตัวในเดือนมิถุนายน พ.ศ. 2547 [ 5 ]ได้รับการออกแบบใหม่ทั้งหมดในขณะที่ยังคงคุณสมบัติเดิมไว้ Clinton บริจาคชื่อและรหัส iBATIS ให้กับApache Software Foundationและโครงการนี้ยังคงอยู่ใน ASF เป็นเวลาหกปี

ในที่สุด iBATIS DAO ก็ถูกยกเลิกการใช้งาน เนื่องจากมีเฟรมเวิร์ก DAO ที่ดีกว่าให้เลือกใช้ เช่นSpring Framework

เมื่อวันที่ 19 พฤษภาคม 2553 iBATIS 3.0 ได้รับการเผยแพร่ และในเวลาเดียวกัน ทีมพัฒนา ได้ตัดสินใจที่จะพัฒนาเฟรมเวิร์กต่อไปที่Google Code [ 6 ] ภายใต้โครงการใหม่ชื่อMyBatis

เมื่อวันที่ 16 มิถุนายน 2553 Apache ประกาศว่า iBATIS ได้ถูกยกเลิกการใช้งานและย้ายไปอยู่ใน Apache Attic แล้ว

ดูเพิ่มเติม

บรรณานุกรม

  • Begin, Clinton; Brandon Goodin; Larry Meadors (17 มกราคม 2550). iBATIS in Action (ฉบับพิมพ์ครั้งที่ 1 )  . Manning . หน้า384. ISBN  978-1-932394-82-5.
  • ริชาร์ดสัน, คริส (23 มกราคม 2549). POJOs ในทางปฏิบัติ (ฉบับพิมพ์ครั้งที่ 1 )  . แมนนิง . หน้า456. ISBN  1-932394-58-3.
  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Apache_iBATIS&oldid=1305033266 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อะปาเช่ ไอบาติส

iBATISเป็นเฟรมเวิร์กสำหรับการจัดการข้อมูลถาวรซึ่งช่วยให้การแมปข้อมูลระหว่าง ฐานข้อมูล SQLและอ็อบเจ็กต์ใน Java, .

การใช้งาน

ตัวอย่างเช่น สมมติว่ามีตารางฐานข้อมูล PRODUCT (PROD_ID INTEGER , PROD_DESC VARCHAR(64) ) และคลาส Java com.example.

ความพร้อมใช้งาน

ผู้ก่อตั้ง iBATIS ได้แสดงความไม่พอใจต่อ Java 5 อย่างเปิดเผยแต่ก็ยังคงปล่อย iBATIS เวอร์ชันใหม่สำหรับ Java ออกมาอย่างต่อเนื่อง เวอร์ชัน 2.3.1 และ 2.3.2 ออกมาในเดือนเมษายน 2551 และเวอร์ชัน 2.3.3 ในเดือนกรกฎาคม

ประวัติศาสตร์

ในปี พ.ศ. 2544 โครงการชื่อ iBATIS ได้เริ่มต้นขึ้นโดย Clinton Begin เดิมทีเน้นที่การพัฒนาโซลูชันซอฟต์แวร์การเข้ารหัสลับ ผลิตภัณฑ์แรกที่ iBATIS ปล่อยออกมาคือ Secrets [ 1 ] ซึ่งเป็นเครื่องมือเข้ารหัสและลงนามข้อมูลส่วนบุคคลคล้ายกับ PGP Secrets...