في إطار SSM ، غالبًا ما يتم استخدامه لاستدعاء الإجراءات المخزنة والتحكم في المعاملات في قاعدة البيانات. فيما يلي مثال على تخزين وثيقة معينة:
1. رمز الإجراء المخزن في أوراكل هو كما يلي (يضيف المنطق الرئيسي تلقائيًا 1 إلى ترميز المستند ويعيد ترميز المستند):
إنشاء أو استبدال الإجراء "update_djbhzt" (p_gsid في varchar2 ، p_tblname في varchar2 ، newRecno رقم خارج) كما تبدأ تحديث bhdj set bhdj02 = bhdj02+1 حيث gsxx01 = p_gsid و bhdj01 = p_tblname ؛ إذا كان SQL ٪ ROWCOUNT = 0 ثم أدخله في BHDJ (GSXX01 ، BHDJ01 ، BHDJ02) (P_GSID ، P_TBLNAME ، 1) ؛ إنهاء إذا ؛ حدد bhdj02 في newRecno من bhdj حيث gsxx01 = p_gsid و bhdj01 = p_tblname ؛ نهاية؛
2. الرمز في MyBatis كما يلي:
<حدد ID = "update_djbhzt" parametertype = "java.util.map" statertytype = "callable"> <! [cdata [{call update_djbhzt (#{p_gsid ، mode = in ، jdbctype = varchar} ،#{p_tblname ، mode = in ، jdbctype = varchar} ،#{newrecno ، mode = out ، jdbctype = bigint})}]]] 3. رمز طبقة DAO كما يلي:
حزمة com.pcmall.dao.sale.stock ؛ استيراد java.util.list ؛ استيراد java.util.map ؛ استيراد com.github.miemedev.mybatis.paginator.domain.pagebounds ؛ استيراد com.pcmall.dao.common.basemapper ؛ استيراد com.pcmall.domain.sale.stock.zcd ؛ الواجهة العامة ZCDMAPPER يمتد Basemapper <Zcd> {void update_djbhzt (Map <String ، Object> map) ؛ } 4. رمز طبقة الخدمة كما يلي:
الواجهة:
حزمة com.pcmall.service.sale.stock ؛ استيراد java.util.list ؛ استيراد com.github.miemedev.mybatis.paginator.domain.pagebounds ؛ استيراد com.pcmall.domain.sale.order.hssncmmx ؛ استيراد com.pcmall.domain.sale.stock.zcditem ؛ استيراد com.pcmall.domain.sale.stock.zcditem ؛ استيراد com.pcmall.domain.sale.user.user ؛ استيراد com.pcmall.domain.vo.responsevo ؛ استيراد com.pcmall.service.common.ibaseService ؛ الواجهة العامة izCdService يمتد iBaseService <Zcd> {long getzcdno (String gsxx01 ، string tablename) ؛ Responsevo SaveZCD (ZCD ZCD ، مستخدم المستخدم) يلقي الاستثناء ؛ } فئة التنفيذ:
حزمة com.pcmall.service.sale.stock.impl ؛ استيراد java.text.simpledateformat ؛ استيراد java.util.arraylist ؛ استيراد java.util.date ؛ استيراد java.util.hashmap ؛ استيراد java.util.list ؛ استيراد java.util.map ؛ استيراد javax.annotation.Resource ؛ استيراد org.apache.axis.mass.schemaholder ؛ استيراد org.apache.commons.collections.collectionUtils ؛ استيراد org.springframework.stereotype.service ؛ استيراد org.springframework.transaction.annotation.transactional ؛ استيراد com.github.miemedev.mybatis.paginator.domain.pagebounds ؛ استيراد com.google.common.collect.collections2 ؛ استيراد com.pcmall.common.Utils.dateutils ؛ استيراد com.pcmall.dao.sale.stock.zcdmapper ؛ استيراد com.pcmall.dao.sale.stock.zcditemmapper ؛ استيراد com.pcmall.domain.sale.order.hssncmmx ؛ استيراد com.pcmall.domain.sale.promotion.hscxlx ؛ استيراد com.pcmall.domain.sale.stock.zcd ؛ استيراد com.pcmall.domain.sale.stock.zcditem ؛ استيراد com.pcmall.domain.sale.stock.bo.ckspbo ؛ استيراد com.pcmall.domain.sale.user.user ؛ استيراد com.pcmall.domain.vo.responsevo ؛ استيراد com.pcmall.service.common.abstractServiceImpl ؛ استيراد com.pcmall.service.sale.order.iorderservice ؛ استيراد com.pcmall.service.sale.stock.istockservice ؛ استيراد com.pcmall.service.sale.stock.izcdservice ؛ service public class ZcDerviceImpl يمتد ملخصات sercserviceimpl <Zcd> تنفذ izCdService {resource private zcdmapper zcdmapper ؛ Resource private ZcDitemMapper ZcDitemMapper ؛ Resource الخاص iStockService StockServiceImpl ؛ TransActional (Rollbackfor = issection.class) Override Public Responsevo SaveZcd (ZCD ZCD ، المستخدم) يرمي استثناء {repositvo reposlevo = new repositvo () ؛ ZCD01 long = getzcdno (zcd.getgsxx01 () ، "ZCD") ؛ ZCD.SetzCD01 (ZCD01) ؛ zcd.setzcd05 (user.getryxx (). getryxx02 ()) ؛ zcd.setzcd06 (تاريخ جديد ()) ؛ التاريخ الآن = تاريخ جديد () ؛ SimplEdateFormat SDF = جديد spiStFormat ("HHMMSSMS") ؛ ZCD.SETTIME01 (sdf.format (nowtime)) ؛ لـ (zcditem zcditem: zcd.getzcditem ()) {zcditem.setzcd01 (zcd01) ؛ ZcDitemMapper.InserTslective (ZCD) ؛ } ZCDMAPPER.INSERTSELECTIVE (ZCD) ؛ Responsevo.setData (ZCD) ؛ إرجاع استجابة ؛ } Override public getzcdno (String gsxx01 ، String tablename) {map <string ، Object> map = new hashmap <string ، object> () ؛ map.put ("p_gsid" ، gsxx01) ؛ map.put ("p_tblname" ، tablename) ؛ ZCDMAPPER.UPDATE_DJBHZT (MAP) ؛ long newrecno = (long) map.get ("newrecno") ؛ إرجاع Newrecno ؛ }} 5. رمز طبقة التحكم كما يلي:
حزمة com.pcmall.controller.stock.zcd ؛ استيراد java.util.list ؛ استيراد javax.annotation.Resource ؛ استيراد javax.servlet.http.httpservletrequest ؛ استيراد org.apache.commons.collections.collectionUtils ؛ استيراد org.slf4j.logger ؛ استيراد org.slf4j.loggerfactory ؛ استيراد org.springframework.stereotype.controller ؛ استيراد org.springframework.web.bind.annotation.requestbody ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.requestparam ؛ استيراد org.springframework.web.bind.annotation.ResponseBody ؛ استيراد com.github.miemedev.mybatis.paginator.domain.pagebounds ؛ استيراد com.pcmall.common.base.baseController ؛ استيراد com.pcmall.domain.sale.stock.zcd ؛ استيراد com.pcmall.domain.sale.stock.zcditem ؛ استيراد com.pcmall.domain.sale.stock.bo.ckspdetailbo ؛ استيراد com.pcmall.domain.sale.stock.bo.zcdbo ؛ استيراد com.pcmall.domain.sale.system.gzzqx ؛ استيراد com.pcmall.domain.sale.system.gzzqxkey ؛ استيراد com.pcmall.domain.sale.system.ryxx ؛ استيراد com.pcmall.domain.sale.user.czy ؛ استيراد com.pcmall.domain.sale.user.user ؛ استيراد com.pcmall.domain.vo.responsevo ؛ استيراد com.pcmall.service.sale.stock.istockservice ؛ استيراد com.pcmall.service.sale.stock.izcdservice ؛ استيراد com.pcmall.service.sale.system.igzzqxService ؛ controller @requestmapping ("/stock/zcd") الفئة العامة ZCDController يمتد BaseController {private static logger logger = loggerfactory.getLogger (ZCDController.class) ؛ Resource الخاص izCdService ZcDerviceImpl ؛ Resource الخاص iStockService StockServiceImpl ؛ Resource Private IgzzQxService gzzqxServiceImpl ؛ requestmapping ("/savezcd") responsebody public responsevo savezcd (httpservletrequest request ، @requestbody zcd zcd) {responsevo responsevo = new responsevo () ؛ Try {reponsevo = ZcDerviceImpl.SavezCd (ZCD ، getLoginuser ()) ؛ Responsevo.setsuccess (صواب) ؛ } catch (استثناء e) {logger.error ("" ، e) ؛ Responsevo.setsuccess (false) ؛ Responsevo.seterrormsg (! "". يساوي (e.getMessage ())؟ e .getMessage (): "استثناء الخلفية") ؛ } Return Responsevo ؛ }} 6. رمز طبقة JS الأمامي هو كما يلي:
الوظيفة Save () {$ ("#Save"). addClass ("تعطيل") ؛ if ($ ("#selshck"). val () == "") {layer.msg ('يرجى ملء مستودع الاستلام' ، {icon: 5}) ؛ $ ("#save"). removeClass ("معطل") ؛ يعود؛ } if ($ ("#selshck"). val () == $ ("#selfhck"). val ()) {layer.msg ('لا يمكن أن يكون مستودع الشحن هو نفسه مستودع الاستلام' ، {icon: 5}) ؛ $ ("#save"). removeClass ("معطل") ؛ يعود؛ } var param = {} ؛ param.bm01 = $ ("#selbm"). attr ("valuea") ؛ param.zcd02 = $ ("#selfhck"). attr ("valuea") ؛ param.zcd03 = $ ("#selshck"). attr ("valuea") ؛ param.zcd04 = $ ("#zcd04"). val () ؛ param.gsxx01 = $ ("#gsxx01"). val () ؛ var zcditemary = [] ؛ var flag = 0 ؛ $ ("#tbody1"). find ("tr"). كل (function () {var zcditem = {} ؛ var arrrtd = $ (this) .Children () ؛ zcditem.spxx01 = $ .trim (arrtd.eq (0) .Text ()) ؛ zcditem.wldw01 = $ .trim (arrtd.eq (6) .Text ()) ؛ أيقونة: 5) ؛ $ .trim (arrtd.eq (2). zcditem.gsxx01 = $ ("#gsxx01"). if (flag == 1) {layer.msg ('الرجاء إدخال عدد Resosses' ، {icon: 5}) ؛ $ ("#save"). removeClass ("معطل") ؛ يعود؛ } if (zcDiteMary.length == 0) {layer.msg ('الرجاء إدخال معلومات المنتج لـ reposses' ، {icon: 5}) ؛ $ ("#save"). removeClass ("معطل") ؛ يعود؛ } /* else {for (var i = 0 ؛ i <zcDiteMary ؛ i ++) {if (zcDitemary [i] .zcdi03 == "") {layer.msg ('الرجاء إدخال عدد repos' ، {icon: 5}) ؛ $ ("#save"). removeClass ("معطل") ؛ يعود؛ }}} */$ .ajax ({url: "$ {ctx}/stock/zcd/savezcd" ، البيانات: $ .json.decode (param) ، contentType: $ (#ZCD01 "). layer.msg ('فشل في صياغة استلام المستودعات' + data.errormsg ، {icon: 5}) ؛ }ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.