عند بناء مشروع جديد ، تحتاج إلى إضافة تبعيات JPA و H2
تبعيات ملف POM هي كما يلي:
<؟ XSI: Schemalocation = "http://maven.apache.org/pom/4.0.0 <StifactId> Springboot-H2 </stifactid> <soph> 0.0.1-snapshot </version> <cplaging> جرة </packaging> <name> springboot-h2 </name> <description> Demo Project for Spring Boot H2 </description> <StifactId> Spring-Boot-Starter-Parent </stifactid> <الإصدار> 1.4.3.Release </version> <repiledpath/> <!-Lookup Parent من المستودع-> </parent> <ferties> <project.build.sourceencoding> usf-8 </proceld.build.source <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.7 </java.version> </properties> <ependencies> <reperency> <roupend> org.springframework.boot </groupid> </reperency> <redency> <roupiD> org.springframework.boot </rougiD> <Stifactid> Spring-Boot-Starter-Web </shotifactid> </reperency> <redenced> <copeid> com.h2database </rouciD> <Groper> org.springframework.boot </groupId> <StifactId> Spring-boot-starter-test </artifactid> <scope> اختبار </scope> </dependency <StifactId> Spring-Boot-Maven-Plugin </stifactid> </sultwing> </sults> </build> </project>
حزمة com.chhliu.springboot.h2.entity ؛ استيراد java.math.bigdecimal ؛ استيراد javax.persistence.column ؛ استيراد javax.persistence.entity ؛ استيراد javax.persistence.generatedValue ؛ استيراد javax.persistence.generationtype ؛ استيراد javax.persistence.id ؛ entity user user {idgeneratedValue (strategy = genertype.auto) معرف طويل خاص ؛ @Column Private String اسم المستخدم ؛ column اسم السلسلة الخاصة ؛ @Column Secripal Level Age ؛ column private BigDecimal Balance ؛ ... حذف أساليب GetTter و Setter} حزمة com.chhliu.springboot.h2.repository ؛ استيراد org.springframework.data.jpa.repository.jparepository ؛ استيراد org.springframework.stereotePe.Repository ؛ استيراد com.chhliu.springboot.h2.entity.user ؛ repository الواجهة العامة userrepository يمتد JParePository <مستخدم ، long> {} حزمة com.chhliu.springboot.h2.controller ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.web.bind.annotation.getMapping ؛ استيراد org.springframework.web.bind.annotation.pathvariable ؛ استيراد org.springframework.web.bind.annotation.restController ؛ استيراد com.chhliu.springboot.h2.entity.user ؛ استيراد com.chhliu.springboot.h2.repository.userrepository ؛ RestController الفئة العامة USERCONTROLLER getMapping ("/user/{id}") // لاحظ أن تعليق توضيح getMapping هنا ، وأن وظيفة هذا التعليقات التوضيحية تشبه @requestmapping (value = "/user/{id}" ، method = requestMethod.get) ، strenspostmapping هو نفسه atterbyid findbated (pathvariable) }}# Server Number Number Server.port = 7900 # ما إذا كان يجب إنشاء عبارة DDL spring.jpa.generate-ddl = false # ما إذا كنت يجب طباعة عبارة spring.jpa.show-sql = True # إنشاء DDL تلقائيًا. نظرًا لأنه يتم تحديد DDL محدد ، يتم تعيينه على none spring.jpa.hibernate.ddl-auto = none # استخدم قاعدة بيانات h2 spring.datasource.platform = h2 # spring.datasource.data = classpath: data.sql # تكوين معلومات طباعة السجل تسجيل الدخول. logging.level.org.hibernate.type.descriptor.sql.basicextractor = trace logging.level.com.itmuch = debug
أدخل عنوان URL التالي في متصفحك: http: // localhost: 7900/user/4
يمكنك رؤية نتائج الاختبار
{"id": 4 ، "username": "user4" ، "name": "Maliu" ، "Age": 20 ، "Balance": 100.00}
اشرح أن تكاملنا على ما يرام
حزمة com.chhliu.springboot.h2 ؛ استيراد org.junit.assert ؛ استيراد org.junit.test ؛ استيراد org.junit.runner.runwith ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.boot.test.context.springBoottest ؛ استيراد org.springframework.test.context.junit4.springRunner ؛ استيراد com.chhliu.springboot.h2.entity.user ؛ استيراد com.chhliu.springboot.h2.repository.userrepository ؛ Runwith (SpringRunner.Class) springBOOTTEST الفئة العامة springbooth2applicationTest {autowired userrepository ropository ؛ Test public void test () {user u = ropository.findone (1L) ؛ Assert.assertequals ("Case Test Case" ، "Zhang San" ، U.GetName ()) ؛ }} لقد وجدت أن الاختبار كان على ما يرام!
نظرًا لأن H2 عبارة عن قاعدة بيانات ذاكرة علائقية ، عند بدء تشغيل البرنامج ، سيتم إنشاء الجداول في الذاكرة وسيتم تخزين البيانات في الذاكرة. بعد إعادة تشغيل البرنامج ، سيتم حذف البيانات في الذاكرة تلقائيًا ، والتي يمكن استخدامها بشكل جيد لاختبار الوحدة في طبقة DAO واختبار الوحدة في طبقة الخدمة ، بحيث لن يعتمد البرنامج بأكمله على قواعد بيانات محددة ، وكذلك تحسين كفاءة اختبار الوحدة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.