بيانات Springboot JPA تنفذ استعلام جدول الجمعية من طراز واحد إلى واحد إلى واحد
بيئة التنمية
المتطلبات الوظيفية
من خلال علاقة الارتباط ، يتم البحث في جميع متاجر المنتجات في المتجر. المتجر واحد إلى حد كبير للمنتجات ، والمنتج كثير إلى واحد للمتاجر. يوجد store_id المفتاح الأجنبي على الجانب متعدد. استخدم بيان التوصيل داخل قاعدة البيانات.
هيكل الجدول
TB_SHOP
TB_STORE
فئة الكيان ، التي تنفذها التعليق التوضيحي
1. متجر فئة المتجر. جافا
package com.gaolei.entity ؛ استيراد javax.persistence.* ؛ استيراد java.util.hashset ؛ استيراد java.util.set ؛/*** تم إنشاؤه بواسطة Gaolei في 2018/6/25. */ @entity @table (name = "tb_store") متجر الفئة العامة {idgeneratedValue (strategy = genertype.Identity) معرف Integer الخاص) الخاص ؛ المتاجر = hashset جديد <sprow> () ؛ // حذف set () و get () طرق ؛} منتج فئة المنتج
package com.gaolei.entity ؛ استيراد javax.persistence.* ؛ استيراد java.util.hashset ؛ استيراد java.util.set ؛/*** تم إنشاؤه بواسطة Gaolei في 2018/6/25. */ @entity @table (name = "tb_shop") متجر الفئة العامة {iDGeneratedValue (strategy = genertype.Identity) معرف Integer الخاص ؛ // معرف المنتج اسم السلسلة الخاصة ؛ // اسم المنتج الخاص السعر int ؛ // سعر المنتج الخاص int num ؛ // كمية المنتج معلومات السلسلة الخاصة ؛ // معلومات المنتج @manytoone joincolumn (name = "store_id") // set set () و get () Methods ؛} Storedao.java
ترث واجهة crudrepository من واجهة المستودع وأضفت طرقًا بسيطة مثل إضافة وحذف والتحقق. هناك العديد من الطرق التي تم تغليفها. لن أوضحها هنا. سأستخدم Baidu لإكمال العمليات المعقدة هنا من خلال عبارات HQL المخصصة.
package com.gaolei.dao ؛ استيراد com.gaolei.entity.store ؛ استيراد org.springframework.data.jpa.repository تم إنشاؤه بواسطة Gaolei في 2018/6/25. */@ropositorypublic interface storedao يمتد crudrepository <store ، integer> {// هذه الطريقة الاستعلام عن جميع المنتجات في معرف المتجر =؟ عبر اتصال مضمّن Query ("حدد S Distore S من store S inner Join S.Shops حيث S.ID =؟ 1") قائمة <Store> FindByShopList (INTEGER ID) ؛} المحطة
تنفيذ الطريقة عن طريق حقن storedao بواسطة @autowired
package com.gaolei.service ؛ استيراد com.gaolei.dao.storedao ؛ استيراد com.gaolei.entity.shop ؛ استيراد com.gaolei.entity.store ؛ import org.springframework.beans.factory.annotation. org.springframework.transaction.annotation.transactional ؛ استيراد java.util.list ؛/*** تم إنشاؤه بواسطة Gaolei في 2018/6/25. */@Controller@TransactionAlpublic Class Storevice {Autowired Private Storedao Storedao ؛ / *** Display Store Products**/ Public List <store> findByShopList (Integer ID) {return storedao.findbyshoplist (id) ؛ }} Storeaction.java
تنفيذ تشغيل بيانات محددة
package com.gaolei org.springframework.stereotype.controller ؛ استيراد org.springframework.ui java.util.arraylist ؛ استيراد java.util.list ؛/*** تم إنشاؤه بواسطة Gaolei في 2018/6/26. */@controller@requestMapping ("/store") الفئة العامة storeaction {autowired private Storevice Storevice ؛ / *** store_shop_menu يعرض منتجات المتجر**/ @requestmapping ("showshop") showshop showshop (httpservletresponse ، httpservletrequest طلب ، نموذج النموذج) {string id = request.getParameter ("store_id") ؛ // الحصول على المتجر مع معرف =؟ من خلال بيان HQL ، واحصل على جميع المنتجات ضمن قائمة المتجر <store> قائمة = Storevice.FindbyShopList (Integer.valueof (id)) ؛ // Returned are a Store Collection ، و Class و Shore Class و SHOP فئة واحدة إلى طابع ، والمتاجر الموجودة أسفل المتجر هي قائمة <Shop>. اذكر <SPER> قائمة المتجر = New ArrayList <roping> () ؛ // Cycling Traversal للحصول على كل متجر ، إضافته إلى قائمة جديدة <Shop> ، والتي يتم استخدامها لعرض البيانات في المقدمة. لـ (متجر المتجر: قائمة) {system.out.println (store.getName ()) ؛ لـ (متجر متجر: store.getshops ()) {system.out.println (shop.getName ()) ؛ قائمة ShopList.Add (متجر) ؛ }} model.addattribute ("list" ، stoplist) ؛ إرجاع "المشرف/العرض" ؛ }}صفحة إعادة التوجيه
المتاجر التي تم عرضها
تخزين المنتجات
تم حذف الرمز الأمامي ، والشيء الرئيسي هو أن البيان في Query ("**************************") يمكن استخدامه لتحقيق عمليات معقدة مع اتصالات مختلفة لقاعدة البيانات.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.