Java สตรีม ORM
Speedment เป็นชุดเครื่องมือและรันไทม์ Java Stream ORM แบบโอเพ่นซอร์ส ชุดเครื่องมือจะวิเคราะห์ข้อมูลเมตาของฐานข้อมูล SQL ที่มีอยู่และสร้างการแสดง Java ของโมเดลข้อมูลโดยอัตโนมัติ This powerful ORM enables you to create scalable and efficient Java applications using standard Java streams with no need to type SQL or use any new API.
Speedment ได้รับการพัฒนาโดยนักวิจัยและวิศวกรใน Palo Alto โดยมีวัตถุประสงค์เพื่อลดความซับซ้อนและปรับปรุงการพัฒนาแอปพลิเคชันฐานข้อมูล Java โดยใช้ประโยชน์จาก Java Stream API
Speedment ได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2 ที่เหมาะกับธุรกิจ สนับสนุนการมีส่วนร่วมจากผู้ใช้ โปรดอย่าลังเลที่จะขอคุณสมบัติใหม่ แนะนำการปรับปรุง และรายงานข้อผิดพลาด อ่านเพิ่มเติมเกี่ยวกับการบริจาคได้ที่นี่
เริ่มต้นอย่างรวดเร็ว
สมมติว่าคุณติดตั้ง Maven และมีฐานข้อมูลเชิงสัมพันธ์พร้อมใช้งาน คุณสามารถเริ่มใช้ Speedment ได้ภายในไม่กี่นาที:
- เริ่มโปรเจ็กต์ Speedment Maven ใหม่
- เชื่อมต่อกับฐานข้อมูลของคุณ
การแสดง SQL เป็น Java Streams
มีความคล้ายคลึงกันอย่างเห็นได้ชัดระหว่างสตรีม Java และ SQL ตามที่สรุปไว้ในตารางแบบง่าย ซึ่งหมายความว่าไม่จำเป็นต้องเขียนคำสั่ง SQL ด้วยตนเองอีกต่อไป คุณสามารถอยู่ในโลก Java อันบริสุทธิ์ได้!
ตัวอย่าง
ค้นหาในฐานข้อมูลภาพยนตร์สำหรับภาพยนตร์ที่มีความยาวมากกว่า 120 นาที:
// Searches are optimized in the background!
Optional < Film > longFilm = films . stream ()
. filter ( Film . LENGTH . greaterThan ( 120 ))
. findAny ();
ผลลัพธ์ในแบบสอบถาม SQL ต่อไปนี้:
SELECT
` film_id ` , ` title ` , ` description ` , ` release_year ` ,
` language_id ` , ` original_language_id ` , ` rental_duration ` , ` rental_rate ` ,
` length ` , ` replacement_cost ` , ` rating ` , ` special_features ` ,
` last_update `
FROM
` sakila ` . ` film `
WHERE
( ` length ` > 120 )
คุณสมบัติ
Speedment มาพร้อมกับคุณสมบัติตามรายการด้านล่างและอื่นๆ อีกมากมาย
ดูตารางฐานข้อมูลเป็นสตรีม Java มาตรฐาน
- Pure Java - Stream API แทน SQL ทำให้ไม่จำเป็นต้องใช้ภาษาคิวรี
- Dynamic Joins - ความสามารถในการรวมเป็นสตรีม Java บนฝั่งแอปพลิเคชัน
- สตรีมแบบขนาน - ภาระงานสามารถแบ่งออกเป็นหลายเธรดได้โดยอัตโนมัติ
รหัสตู้นิรภัยชนิดสั้นและกระชับ
- การสร้างโค้ด - การแสดง Java อัตโนมัติสำหรับสถานะล่าสุดของฐานข้อมูลของคุณช่วยขจัดโค้ดสำเร็จรูปและความจำเป็นในการเขียนคลาส Java Entity ด้วยตนเอง พร้อมทั้งลดความเสี่ยงต่อจุดบกพร่อง
- การป้องกันค่า Null - ลดความเสี่ยงที่เกี่ยวข้องกับค่า Null ของฐานข้อมูลโดยการตัดคำไปยัง Java Optionals
- การรวม Enum - การแมปคอลัมน์สตริงกับ Java Enums เพิ่มประสิทธิภาพหน่วยความจำและความปลอดภัยของประเภท
การประเมินแบบ Lazy เพื่อประสิทธิภาพที่เพิ่มขึ้น
- สตรีมเป็นแบบ Lazy - เนื้อหาจากฐานข้อมูลถูกดึงเนื่องจากองค์ประกอบมีความจำเป็นและใช้ไป
- วิปัสสนาไปป์ไลน์ - เพิ่มประสิทธิภาพโดยการลัดวงจรของการดำเนินการสตรีม
บทช่วยสอน
บทช่วยสอนแบ่งออกเป็นสามส่วน ข้อมูลพื้นฐานจะครอบคลุมอยู่ในส่วนแรกโดยไม่ต้องมีความรู้เกี่ยวกับ Speedment มาก่อน สิ่งนี้จะสร้างรากฐานของความรู้ที่จำเป็นเพื่อให้ได้รับประโยชน์อย่างเต็มที่จากบทช่วยสอนต่อไปนี้
พื้นฐาน
- บทช่วยสอนที่ 1 - สวัสดี Speedment
- บทช่วยสอน 2 - สตรีมครั้งแรกจาก Speedment
แอปพลิเคชันตัวอย่าง
- บทช่วยสอนที่ 3 - การรวม Speedment Spring Boot; มั่นใจได้เลย - มันง่าย
- บทช่วยสอนที่ 4 - ตัวกรองความเร็วตาม Json Web Tokens
- บทช่วยสอนที่ 5 - บันทึกข้อผิดพลาดในฐานข้อมูล
- บทช่วยสอน 6 - ใช้ Speedment กับ Java EE
- บทช่วยสอน 7 - สร้างระบบที่มาจากเหตุการณ์
- บทช่วยสอนที่ 8 - การเขียนส่วนขยายของคุณเอง
การขยายความเร็ว
- บทช่วยสอน 9 - การจัดรูปแบบเอาต์พุตของคุณเป็น JSON
- บทช่วยสอน 10 - การทำงานกับ BLOBS และ CLOBS
ทรัพยากร
- เอกสารประกอบ - อ่านคู่มือผู้ใช้ Speedment
- JavaDocs - JavaDocs ความเร็วล่าสุด
- ตัวอย่าง - มีตัวอย่างโดยละเอียด 15 ตัวอย่างที่นี่ และอื่นๆ อีกมากมายสามารถพบได้ในคู่มือผู้ใช้ที่ให้ไว้ด้านบน
- ห้องแชท Gitter - ติดต่อนักพัฒนา Speedment และสมาชิกชุมชนอื่น ๆ ผ่านทางห้องแชท Gitter
- การสร้างคำขอดึง - คำขอดึงและข้อเสนอแนะในการปรับปรุงจากชุมชนได้รับการยอมรับด้วยความยินดี ค้นหาข้อมูลเพิ่มเติมได้ที่นี่
ความต้องการ
เวอร์ชันจาวา
ความเร็วต้องใช้ Java 8
หรือใหม่กว่า ตรวจสอบให้แน่ใจว่า IDE ของคุณได้รับการกำหนดค่าให้ใช้ JDK 8 (เวอร์ชัน 1.8.0_40 หรือใหม่กว่า)
ตัวเชื่อมต่อฐานข้อมูล
Speedment Open Source มาพร้อมกับการรองรับฐานข้อมูลต่อไปนี้ทันที:
- MySQL
- มาเรียดีบี
- PostgreSQL
- SQLite
ตัวเชื่อมต่อฐานข้อมูลองค์กรประกอบด้วย:
- AS400
- คาสซานดรา
- ดีบี2
- อินฟอร์มิกซ์
- ออราเคิล
- เกล็ดหิมะ
- เซิร์ฟเวอร์ SQL
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ Speedment Licensing and Pricing
ใบอนุญาต
- Speedment Open Source - ไซต์นี้ครอบคลุมโครงการ Speedment Open Source ที่มีอยู่ภายใต้ลิขสิทธิ์ Apache 2
- Speedment Stream - ฟีเจอร์ที่ยอดเยี่ยมเช่นเดียวกับ Speedment OSS ที่รองรับฐานข้อมูลเชิงพาณิชย์ เรียนรู้เพิ่มเติมได้ที่ speedment.com/stream
- Speedment HyperStream - ส่วนขยาย av Speedment Stream ซึ่งรวมถึงประสิทธิภาพการสืบค้นแบบไฮเปอร์โซนิกที่เปิดใช้งานโดยโมเดลการจัดการหน่วยความจำใน JVM ที่เป็นเอกลักษณ์ เรียนรู้เพิ่มเติมที่ speedment.com/hyperStream
ลิขสิทธิ์
ลิขสิทธิ์ (c) 2014-2019, Speedment, Inc. สงวนลิขสิทธิ์ เยี่ยมชม www.speedment.com สำหรับข้อมูลเพิ่มเติม
กิจกรรม Github แสดงให้เห็น