العمارة المواد الفعلية (أ) البنية التحتية بناء -Spring الحذاء + MyBatis

يجب أن يكون الربيع السعي نقطة بسيطة ببساطة، تطوير جافا دعونا أسهل وأسهل. التمهيد الربيع يتحرك خطوة واحدة أقرب إلى السعي لتحقيق ملاكا، واحدة في الربيع على أساس مجموعة من التنفيذ.

بداية، لا يوجد الكثير من تهشم على التمهيد الربيع، أعتقد أنه يجب أن تستخدم فقط في تطبيقات المؤسسات حاوية جافا بريمج للتخلص منه.

اتصالات أخرى، الشعور الوحيد، والتمهيد الربيع الأصلي هو شيء من هذا القبيل قوية. مثل اسم التمهيد والرمز الخاص به، مثل، مثل زر تشغيل للكمبيوتر عند بدء تشغيل، كل ما تحتاجه ليست جيدة المحتملين. ما عليك القيام به هو التمتع بجمال التكنولوجيا الحديثة.

وإليك مثالا يحتذى لي لبناء التمهيد الربيع دمجه MyBatis

افتراضي حاجة بعض من هذه الأمور هي: Jdk1.6 +، مخضرم، قاعدة بيانات MySQL

نحن ننظر إلى الرسم البياني هيكل المشروع المنجز

بنية المشروع

النتائج التشغيلية النهائية

يؤدي المكالمة

خطوة بخطوة بداية لكتابة التعليمات البرمجية التالية

زيادة التمهيد الربيع الاعتماد من مخضرم

التمهيد الربيع ترث الفئة الأصل

  < أصل >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > الربيع التمهيد بداية الوالدين < / ArtifactId >

  < نص > 1.5.1.RELEASE < / النسخة >

  < / الرئيسي >

زيادة الاعتماد

< تبعيات >

  < التبعية >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > الربيع التمهيد بداية على شبكة الإنترنت < / ArtifactId >

  < / التبعية >

  < التبعية >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > ربيع التمهيد-بداية-بيانات نقابة الصحفيين < / ArtifactId >

  < / التبعية >

  < التبعية >

  < groupId > org.apache.tomcat.embed < / GroupId >

  < artifactId > هر-تضمين-يشب < / ArtifactId >

  < / التبعية >

< ! - https://mvnrepository.com/artifact/org.mybatis/mybatis - >

  < التبعية >

  < groupId > org.mybatis < / GroupId >

  < artifactId > mybatis < / ArtifactId >

  < نص > 3.4.2 < / النسخة >

  < / التبعية >

< ! - https://mvnrepository.com/artifact/org.mybatis/mybatis-spring - >

  < التبعية >

  < groupId > org.mybatis < / GroupId >

  < artifactId > mybatis الربيع < / ArtifactId >

  < نص > 1.3.1 < / النسخة >

  < / التبعية >

< ! - https://mvnrepository.com/artifact/mysql/mysql-connector-java - >

  < التبعية >

  < groupId > ك < / GroupId >

  < artifactId > ك-موصل جافا < / ArtifactId >

  < / التبعية >

< ! - https://mvnrepository.com/artifact/com.alibaba/druid - >

  < التبعية >

  < groupId > com.alibaba < / GroupId >

  < artifactId > الكاهن < / ArtifactId >

  < نص > 1.0.27 < / النسخة >

  < / التبعية >

< ! - https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper - >

  < التبعية >

  < groupId > com.github.pagehelper < / GroupId >

  < artifactId > pagehelper < / ArtifactId >

< ! - < نص > 5.0.0 < / النسخة >  - >

  < نص > 4.1.6 < / النسخة >

  < / التبعية >

< ! - ضرب من قبل مجموعة حرب - >

  < التبعية >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > ربيع التمهيد-بداية-هر < / ArtifactId >

  < مجال > المقدمة < / نطاق >

  < / التبعية >

  < / التبعيات >

  < التعبئة والتغليف > حرب < / تغليف >

< ! - - >

  < خصائص >

  < java.version > 1.8 < /java.version >

  < / خصائص >

  < بناء >

< ! - ضرب من قبل مجموعة حرب - >

  < finalName > عرض < / FinalName >

  < الإضافات >

  < المساعد >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > مخضرم ربيع-التمهيد-المساعد < / ArtifactId >

  < / المساعد >

< ! - ضرب من قبل مجموعة حرب، مخضرم مخضرم لا تحتاج إلى معرفة متى تعبئتها web.xml، سواء فقط لا يمكن العثور سيتم الإبلاغ عن خطأ web.xml - >

  < المساعد >

  < groupId > org.apache.maven.plugins < / GroupId >

  < artifactId > مخضرم الحرب بين البرنامج المساعد < / ArtifactId >

  < نص > 2.1.1. < / النسخة >

  < ترتيب >

  < failOnMissingWebXml > زائف < / FailOnMissingWebXml >

  < / تكوين >

  < / المساعد >

< ! - - >

  < / الإضافات >

  < / بناء >

الزيادة في الطبقات مدخل والتكوين

موقع الملف

Application.java

حزمة com.yundian.

استيراد org.springframework.boot.SpringApplication.

استيراد org.springframework.boot.autoconfigure.SpringBootApplication.

استيراد org.springframework.web.bind.annotation.RequestMapping.

استيراد org.springframework.web.bind.annotation.RestController.

SpringBootApplication

RestController

publicclassApplication {

RequestMapping ( "/")

مؤشر سلسلة العامة () {

 العودة "التمهيد الربيع مرحبا".

 }

publicstaticvoidmain (وسائط سلسلة) {

 SpringApplication.run (Application.class، وسائط)؛

 }

}

application.properties

server.port = 8080

server.context مسار = / تجريبي

المدى دعونا لنرى النتائج

يمتد من الدرجة الصحيحة في Application.java

بداية ناجحة

باستخدام أداة IDE لاختبار تحت شريط

أدوات >  اختبار خدمة ويب مريحة

جولة

أو زيارة في شريط عنوان المتصفح

HTTP: // المضيف المحلي: 8080 / تجريبي

تكامل MyBatis التالية

الملحق الأول محتويات كاملة من التكوين application.properties يحتوي على قاعدة بيانات التكوين

تذكر أن تغيير قاعدة بيانات حسابك وكلمة السر الخاصة

server.port = 8080server.context مسار = / تجريبي

druid.driver = com.mysql.jdbc.Driver

druid.url = جدبك: الخلية: // المضيف المحلي: 3306 / mysqldruid.username = الجذر

druid.password = 123456druid.init الحجم = 1druid.min-أيدل = 1druid.max نشط = = 5druid.login.timeout.seconds 30druid.query.timeout.seconds = 30

الموارد / mybatis-config.xml

اهتمام! اهتمام! كل زيادة في تكوين أكس تذكر لزيادة تكوين معين هنا

< ؟ نسخة أكس = "1.0" ترميز = "UTF-8"؟ > < ! DOCTYPE التكوين PUBLIC "- // mybatis.org//DTD التكوين 3.0 // EN" " > < ترتيب >

  < إعدادات >

  < وضع اسم = "cacheEnabled" قيمة = "صحيح" / >

  < وضع اسم = "lazyLoadingEnabled" قيمة = "صحيح" / >

  < وضع اسم = "aggressiveLazyLoading" قيمة = "صحيح" / >

  < وضع اسم = "useGeneratedKeys" قيمة = "صحيح" / >

  < وضع اسم = "defaultExecutorType" قيمة = "SIMPLE" / >

  < وضع اسم = "defaultStatementTimeout" قيمة = "600" / >

  < وضع اسم = "callSettersOnNulls" قيمة = "صحيح" / >

  < / إعدادات >

  < الإضافات >

  < المساعد اعتراضية = "com.github.pagehelper.PageHelper" >

  < اسم الخاصية = "لهجة" قيمة = "سيكلسرفير" / >

  < / المساعد >

  < / الإضافات >

  < المخططون >

  < مورد معين = "المخططون / HelpCategoryMapper.xml" / >

  < / المخططون > < / تكوين >

هنا نكتب استعلام بسيط

الموارد / المخططون / HelpCategoryMapper.xml

< ؟ نسخة أكس = "1.0" ترميز = "UTF-8"؟ > < ! DOCTYPE مخطط PUBLIC "- // mybatis.org//DTD مخطط 3.0 // EN" " > < مخطط مساحة = "com.yundian.mapper.HelpCategoryMapper" >

  < resultMap معرف = "BaseResultMap" نوع = "com.yundian.entity.HelpCategory" >

  < عمود معرف = "help_category_id" jdbcType = "SMALLINT" الملكية = "helpCategoryId" / >

  < يؤدي العمود = "اسم" jdbcType = "CHAR" الملكية = "اسم" / >

  < يؤدي العمود = "parent_category_id" jdbcType = "SMALLINT" الملكية = "parentCategoryId" / >

  < يؤدي العمود = "رابط" jdbcType = "CHAR" الملكية = "URL" / >

  < / ResultMap >

  < تحديد هوية = "selectList" resultMap = "BaseResultMap" >

 حدد help_category_id والاسم وparent_category_id، رابط من help_category < / تحديد > < / مخطط >

com.yundian.configuration.DatasourceConfig.java

حزمة com.yundian.configuration.

استيراد com.alibaba.druid.pool.DruidDataSource.

استيراد org.apache.ibatis.session.SqlSessionFactory.

استيراد org.mybatis.spring.SqlSessionFactoryBean.

استيراد org.mybatis.spring.annotation.MapperScan.

استيراد org.slf4j.Logger.

استيراد org.slf4j.LoggerFactory.

استيراد org.springframework.beans.factory.annotation.Value.

استيراد org.springframework.context.annotation.Bean.

استيراد org.springframework.context.annotation.Configuration.

استيراد org.springframework.core.io.ClassPathResource.

استيراد org.springframework.jdbc.datasource.DataSourceTransactionManager، javax.sql.DataSource الاستيراد؛

@ تكوين @ MapperScan (basePackages = "com.yundian.mapper")

publicclassDatasourceConfig {

privatestatic المسجل سجل = LoggerFactory.getLogger (DatasourceConfig.class)؛

value ( "$ {druid.driver}")

سلسلة driverClassName الخاص؛

value ( "$ {druid.url}")

رابط سلسلة الخاص؛

value ( "$ {druid.username}")

اسم المستخدم سلسلة الخاص؛

value ( "$ {druid.password}")

كلمة سلسلة خاصة.

value ( "$ {druid.init الحجم}")

privateint initSize.

value ( "$ {druid.min-أيدل}")

privateint minIdel.

value ( "$ {-druid.max نشطة}")

privateint maxActive.

value ( "$ {druid.login.timeout.seconds}")

loginTimeoutSeconds privateint.

value ( "$ {druid.query.timeout.seconds}")

queryTimeoutSeconds privateint.

Bean

الجمهور مصدر البيانات مصدر بيانات () {

 س DruidDataSource = DruidDataSource جديدة ()؛

 ds.setDriverClassName (driverClassName)؛

 ds.setUrl (رابط)؛

 ds.setUsername (اسم المستخدم)؛

 ds.setPassword (كلمة السر)؛

 ds.setInitialSize (initSize)؛

 ds.setMinIdle (minIdel)؛

 ds.setMaxActive (maxActive)؛

 ds.setLoginTimeout (loginTimeoutSeconds)؛

 ds.setQueryTimeout (queryTimeoutSeconds)؛

 العودة س.

 }

Bean

الجمهور SqlSessionFactory sqlSessionFactory () رميات استثناء {نهائي SqlSessionFactoryBean sqlSessionFactory = SqlSessionFactoryBean جديدة ()؛

 sqlSessionFactory.setDataSource (مصدر بيانات ())؛

 sqlSessionFactory.setConfigLocation (ClassPathResource الجديدة ( "mybatis-config.xml"))؛

 sqlSessionFactory.setFailFast (صحيح)؛

 العودة sqlSessionFactory.getObject ()؛

 }

الجمهور DataSourceTransactionManager dataSourceTransactionManager () {

 log.debug ( " >  transactionManager ")؛

 returnnew DataSourceTransactionManager (مصدر بيانات ())؛

 }

}

الكتابة التالية فئة كيان

هنا نستخدم جداول النظام قاعدة بيانات الخلية للقيام بهذا الاختبار

HelpCategory.java

حزمة com.yundian.entity.

publicclassHelpCategory {

خاصة قصيرة helpCategoryId.

اسم سلسلة الخاص؛

خاصة قصيرة parentCategoryId.

رابط سلسلة الخاص؛

// طرق جالبة settter حذفت}

HelpCategoryMapper.java

حزمة com.yundian.mapper.

استيراد com.yundian.entity.HelpCategory.

استيراد org.springframework.stereotype.Repository.

استيراد java.util.List،Repository

publicinterfaceHelpCategoryMapper {

 قائمة < HelpCategory >  selectList ()؛

}

HelpCategoryService.java

حزمة com.yundian.service.

استيراد com.yundian.entity.HelpCategory.

استيراد java.util.List.

publicinterfaceHelpCategoryService {

 قائمة < HelpCategory >  selectList ()؛

}

HelpCategoryServiceImpl.java

حزمة com.yundian.service.impl.

استيراد com.yundian.entity.HelpCategory.

استيراد com.yundian.mapper.HelpCategoryMapper.

استيراد com.yundian.service.HelpCategoryService.

استيراد org.springframework.beans.factory.annotation.Autowired.

استيراد org.springframework.stereotype.Service.

استيراد java.util.List.

Service

publicclassHelpCategoryServiceImplimplementsHelpCategoryService {Autowired

خاصة HelpCategoryMapper helpCategoryMapper.

Override

قائمة الجمهور < HelpCategory >  selectList () {

 العودة helpCategoryMapper.selectList ()؛

 }

}

HelpCategoryController.java

حزمة com.yundian.controller.

استيراد com.yundian.common.Result.

استيراد com.yundian.entity.HelpCategory.

استيراد com.yundian.enums.Code.

استيراد com.yundian.service.HelpCategoryService.

استيراد org.springframework.beans.factory.annotation.Autowired.

استيراد org.springframework.web.bind.annotation.RequestMapping.

استيراد org.springframework.web.bind.annotation.RequestMethod.

استيراد org.springframework.web.bind.annotation.RestController.

استيراد java.util.List.

@ RestController @ RequestMapping ( "مساعدة")

publicclassHelpCategoryController {

Autowired

خاصة HelpCategoryService helpCategoryService.

RequestMapping (القيمة = "الفئة"، طريقة = RequestMethod.GET، وتنتج = "التطبيق / سلمان، محارف = UTF-8")

الفئة النتيجة العامة () {

 قائمة < HelpCategory >  قائمة = helpCategoryService.selectList ()؛ نتيجة returnnew < > (Code.SUCCESS، القائمة).

 }

}

وهما الفئات الأخرى من الجمهور

Result.java

حزمة com.yundian.common.

استيراد com.yundian.enums.Code.

publicclassResult < تي >  {

 كود privateint.

 رسالة خاصة سلسلة.

 خاصة نتيجة T.

 publicResult (رمز الرمز، T نتيجة) {

 this.code = code.getCode ()؛

 this.message = code.getDesc ()؛

 this.result = نتيجة.

 }

// حصول تم حذف طريقة مجموعة}

Code.java

حزمة com.yundian.enums.

كود publicenum {

 SUCCESS (100، "النجاح")، FAIL (101، "فشل")، غير معروف (-1، "غير معروف")؛ كود privateint.

تنازلي سلسلة الخاص؛

 كود (رمز كثافة العمليات، سلسلة تنازلي) {

 this.code = المدونه؛

 this.desc = تنازلي.

 }

publicintgetCode () {

 العودة المدونه؛

 }

جمهور سلسلة getDesc () {

 العودة تنازلي.

 }

}

هنا جميع الطبقات كتب أكثر، وقت جيدة ليشهدوا معجزة

النتائج التشغيل الخاص بك أليس كذلك؟

محتوى أكثر إثارة يرجى الانتباه إلى "IT تحالف مكافحة" يا ~ ~ ~

بعد أكثر من 80 فندقا صغيرا منطقة مخفي ثلاثة أشهر لماذا اختفى تقريبا؟

تصدر مؤسسة جيتس خطابًا مفتوحًا سنويًا تتناول فيه "الأسئلة الصعبة" حول الفقر والحقوق

KNW السوبر القليل المحارب: أول معسكر تدريبي عقبة بالطبع الأطفال في الصين، حتى أن أكثر الأطفال تقع في الحب مع حركة العلم

وقالت الهند "كنز وطني" نجم "ووهان صلبة جدا"، لكنها قالت أيضا الصينية تريد أن تجعل من الفيلم

يكون الطقس أخذ غرامة JINLI الطريق الجنكة الناس يلعبون أكوام

آخر خمس دقائق لادراك التعادل الجمهور حول قاعة المحاضرات الكبيرة في الحرم الجامعي لكرة القدم للأطفال تعليم لا للتخلي عن

الصينية علماء الشباب بحوث صرصور مشية، وضعت متعددة أرجل المشي الروبوت والحركة نموذج

دائرة الرقابة الداخلية قتالية حية الفصل - المفاهيم الرئيسية (أ)

كومو في إيطاليا عن مساره اصطدم قطاران، مما أسفر عن إصابة 56 شخصا

تغطي 400،000 المستخدمين، 200،000 المياه شهريا، عش للطباعة في السحاب متعة لاستخدام الهاتف الخليوي على حل جميع الألغاز للطباعة

اليوغا الماعز الذي وصل تجربة بريطانية: "العلاج"

انهار سقف الإيطالي مكتب بريد، ولكن لحسن الحظ لم يكن أحد يضر!