لقد قدمت بعض الأمثلة على طبقات الويب ، بما في ذلك إنشاء واجهة برمجة تطبيقات مريحة وجعل عرض الويب باستخدام محرك قالب Thymelef ، ولكن هذه المحتويات ليست كافية لبناء تطبيق ديناميكي. عادة ، سواء قمنا بإجراء تطبيقات أو تطبيقات ويب ، نحتاج إلى محتوى ، وعادة ما يتم تخزين المحتوى في أنواع مختلفة من قواعد البيانات. بعد تلقي طلب الوصول ، يحتاج الخادم إلى الوصول إلى قاعدة البيانات للحصول على نموذج بيانات معروض للمستخدمين.
تقدم هذه المقالة أمثلة على تكوين مصادر البيانات ضمن Boot Boot وكتابة الوصول إلى البيانات من خلال JDBCtemplate.
تكوين مصدر البيانات
عندما نصل إلى قاعدة البيانات ، نحتاج إلى تكوين مصدر بيانات أولاً. فيما يلي العديد من طرق تكوين قاعدة البيانات المختلفة.
أولاً ، من أجل الاتصال بقاعدة البيانات ، تحتاج إلى تقديم دعم JDBC ، ويتم تقديم التكوين التالي في build.gradle:
ترجمة "org.springframework.boot: spring-boot-starter-jdbc: $ spring_boot_version"
الاتصال بمصادر البيانات
أخذ قاعدة بيانات MySQL كمثال ، قدم أولاً حزمة تبعية اتصال MySQL وإضافتها إلى Build.gradle:
ترجمة "mysql: mysql-connector-java: $ mysql_version"
أكمل build.gradle
المجموعة 'name.quanke.kotlin'version' 1.0-snapshot'buildscript {ext.kotlin_version = '1.2.10' ext.spring_boot_version = '1.5.4 classpath "org.jetbrains.kotlin: kotlin-rgrle-plugin: $ kotlin_version" classpath ("org.springframework.boo: classpath ("org.jetbrains.kotlin: kotlin-noarg: $ kotlin_version") classpath ("org.jetbrains.kotlin: kotlin-allopen: $ kotlin_version https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-pluginapply plugin: 'org.springframework.boot'jar {basename =' apphe11-6-1-service '=' 0.1.0 '}. {compile "org.jetbrains.kotlin: Kotlin-Stdlib-Jre8: $ kotlin_version" compile "org.springframework.boot: spring-boot-starter-web: $ spring_boot_version" compile "org.springframewwork: "mysql: mysql-connector-java: $ mysql_version" testcompile "org.springframework.boot: spring-boot-starter-typ: $ spring_boot_version" testcompile "org.jetbrains.kotlin = "1.8"} compiletestkotlin {kotlinoptions.jvmtarget = "1.8"}تكوين معلومات مصدر البيانات في SRC/Main/Resources/Application.yml
الربيع: DataSource: URL: JDBC: mysql: // localhost: 3306/test username: root password: 123456 driver-class-name: com.mysql.jdbc.driver
الاتصال بمصدر بيانات JNDI
عند نشر تطبيق على خادم التطبيق ، يمكنك استخدام طريقة التكوين التالية لتقديم مصدر بيانات JNDI.
إذا كنت لا تعرف الكثير عن JNDI ، فيرجى الرجوع إلى https://baike.baidu.com/Item/JNDI/3792442؟fr=aladdin
spring.datasource.jndi-name = java: jboss/dataSources/customer
استخدم jdbctemplate لتشغيل قاعدة البيانات
يتم تلقائيا تكوين JDBCtemplate من Spring تلقائيًا ، ويمكنك استخدام Autowired لحقنها في الفاصوليا الخاصة بك.
على سبيل المثال: نقوم بإنشاء جدول مستخدم ، بما في ذلك معرف السمات والاسم والعمر. دعنا نكتب كائنات الوصول إلى البيانات وحالات اختبار الوحدة.
تحديد واجهة مجردة تحتوي على الإدراج والحذف والاستعلام.
interface userservice { / *** احصل على إجمالي عدد المستخدمين* / val allusers: int؟ / *** أضف مستخدمًا جديدًا* param اسم* param age*/ متعة إنشاء (الاسم: السلسلة ، كلمة المرور: سلسلة؟)/ *** حذف مستخدم مرتفع وفقًا للاسم* param اسم*/ متعة deletebyname (الاسم: سلسلة)/ *** حذف جميع المستخدمين*/ متعة deleteallusers ()}تنفيذ عمليات الوصول إلى البيانات المحددة في uservervice من خلال jdbctemplate
استيراد org.springframework.beans.factory.annotation.autowiredimport org.springframework.jdbc.core.jdbctemplateimport org.springframework.stereotype.service/*** التي تم إنشاؤها بواسطة http://kanke.name على 2018/1/10. */ @serviceClass UserviserViceImpl: userService {autowired private val jdbctemplate: jdbctemplate؟ = Null Override Val Allusers: int؟ get () = jdbctemplate !!. QueryForObject ("حدد العد (1) من المستخدم" ، int :: class.java) تجاوز المرح (الاسم: السلسلة ، كلمة المرور: سلسلة؟) {jdbctemplate !!. تحديث ("insert في username ، كلمة المرور) القيم (؟ المستخدم أين اسم المستخدم =؟ "، الاسم)} تجاوز المرح deleteallusers () {jdbctemplate !!. تحديث (" حذف من المستخدم ")}}قم بإنشاء حالات اختبار الوحدة لـ Usservice للتحقق من صحة عمليات قاعدة البيانات عن طريق إنشاء وحذف والاستعلام.
/*** تم إنشاؤه بواسطة http://quanke.name في 2018/1/9. */@RunWith (SpringRunner :: class) springBootTestClass ApplicationTests {val log = logfactory.getLog (ApplicationTests :: class.java) !! AutOwired vateinit var userservice: UsperService est fun `jdbc test" `() {val username =" quanke "val password =" 123456 " "$ password 3") userservice.create ("$ username d" ، "$ password 4") usterveservice.create ("$ username e" ، "$ password 5") log.info ("total user $ {userservice.allusers}") log.info ("Total User $ {userservice.allusers}")}}إن JDBCtemplate تم تقديمه أعلاه هو مجرد عدد قليل من العمليات الأساسية. لمزيد من المعلومات حول استخدام عمليات الوصول الأخرى للبيانات ، يرجى الرجوع إلى: jdbctemplate API
من خلال المثال البسيط أعلاه ، يمكننا أن نرى أن تكوين الوصول إلى قواعد البيانات ضمن Boot SPRING لا يزال يلتزم بالنية الأصلية للإطار: بسيط. نحتاج فقط إلى إضافة تبعيات قاعدة البيانات إلى pom.xml ثم تكوين معلومات الاتصال في application.yml. لا نحتاج إلى إنشاء حبة JDBCTEMPLATE مثل تطبيق الربيع ، ويمكننا حقنها مباشرة واستخدامها في كائننا الخاص.
لخص
ما ورد أعلاه هو طريقة استخدام JDBCTEMPLATE للاتصال بقاعدة بيانات MySQL بواسطة Spring Boot و Kotlin ، والتي قدمتها إليك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!