1import{_ as s,c as a,b as t,o as n}from"./app-CNefOTx1.js";const l="/assets/zuanli-v0SIkQCB.png",e="/assets/zuanli-arche-v6tAfhzu.png",h={};function p(k,i){return n(),a("div",null,i[0]||(i[0]=[t('<p><a href="https://www.oschina.net/news/279004" target="_blank" rel="noopener noreferrer">æ®å½å®¶ç¥è¯äº§æå±å
¬å</a>ï¼ä¸å½å·¥åé¶è¡è¡ä»½æéå
¬å¸è¿æ¥åå¾ä¸é¡¹å为 âåºäº SpringBoot ç web ç³»ç»å端å®ç°æ¹æ³åè£
ç½® âçä¸å©ï¼ææå
¬åå· CN112905176Bï¼ç³è¯·æ¥æä¸º 2021 å¹´ 2 æã</p><p><img src="'+l+'" alt="img"></p><p>è¿é¡¹ä¸å©å¾å¤ç¨åºå表示çä¸æï¼æè
ç´æ¥è®¤ä¸ºæ¯ä¸ä¸ª CRUD ä¸å©ãæä½ä¸ºä¸ä¸ªæ¶æå¸ï¼å°è¯ä»<strong>æ·±å°æµ
ç解读ä¸ä¸è¿ä¸ªä¸å©</strong>ï¼ä»¥åä¸å©èåï¼å·¥è¡æ¶æå¸é¢ä¸´çæ¶æå°å¢ã</p><p>仿¶æè§ç¹æ¥çï¼æ¤ä¸å©æ¬è´¨ä¸ âé
置驱å¨çä¸å¡å¼åä¸å©âï¼ç¨äºè§£å³ç³»ç»æ¶æä¸æä¿®æ¹æ§ï¼å¯è§æµçé¾é¢ã</p><h2 id="æ¶æå¸å°å¢" tabindex="-1"><a class="header-anchor" href="#æ¶æå¸å°å¢"><span>æ¶æå¸å°å¢</span></a></h2><p>æä»¬ç¥éï¼æ¶æä¸»è¦ç®æ æ¯å¯¹è½¯ä»¶ç³»ç»åè§£æè¾å°æ´å®¹æå®ç°çå
ç´ ï¼å¦æ¨¡åæè
åç³»ç»ï¼å¹¶è½è®©è¿äºå
ç´ åå宿ä¸å¡éæ±ï¼å¯¹äºé常çç¨åºåè§è§æ¥è¯´ï¼æ¶æè²ä¼¼å°±æ¯ç»å 个æ¡ï¼ç¶åè¿ä¸çº¿å³å¯ã</p><p>å¦ä¸æ¯ä¸ä¸ªåå¸å¼ç³»ç»æç®åçæ¶æãççå¾ç®åçä¿©æ¡ä¸çº¿ï¼ä½æ¶æå¸å´éè¦èèçé常å¤ï¼è¿ä¹æ¯æ¶æå¸åæ®éç¨åºååºå«</p><p><img src="'+e+`" alt="img"></p><p>A æå¡çæ¶æå¸éè¦èè</p><ul><li>妿æå¡ B ä¸å¯ç¨ï¼æå¡ A å¦ä½ä¿è¯é«å¯ç¨ãæ¯å¦å®æºï¼æ
éï¼èæºæ¼ç§»ï¼ç½ç»æ
é</li><li>妿æå¡ B åºç°é»å¡ï¼æ§è½ä¸éï¼æå¡ A å¦ä½ä¿æ§è½ä¸åå½±å</li><li>æå¡ A è°ç¨æå¡ Bï¼æ¯å¦ä¸å®éè¦çå¾
æå¡ B çååºï¼è½å¦è§£è¦ A å B è°ç¨ï¼é¿å
åé¢ 2 个é®é¢</li><li>æå¡ A 妿æ¯éè¿å
¶å¯»åæå¡å° Bï¼å¦æå¯»åæå¡ä¸å¯ç¨ï¼å¦ä½è°ç¨æå¡ B</li></ul><p>B æå¡ä½ä¸ºæå¡æä¾è
ï¼æ¶æå¸éè¦èèçæ´å¤</p><ul><li>å¦ä½ä¿è¯æå¡ B æ¯æå¤§å¹¶åçæä½</li><li>å¦ä½ä¿è¯æå¡ B æ¯æå¤§æµéæä½ï¼çè³æ¯ä¸æ£å¸¸çªå髿µéä¸ä»ç¶å¯ç¨ï¼æ¯å¦æç½æ¢å¤åç髿µé</li><li>妿æå¡ B ç䏿¸¸ä¸å¯ç¨ï¼å¦ä½ç»æå¡ A æä¾å¯ç¨æ¥å£</li><li>æå¡ B çæ´æ°éå¯ï¼ä¼å¯¹æå¡ A 产çä»ä¹æ ·çå½±å</li><li>å¦ä½å¯è§æµæå¡ B çè°ç¨</li><li>妿æå¡ B æ¯å
¬ç½æå¡ï¼å¦ä½ä¿è¯å®å
¨ï¼æ°æ®è¢«ææç¨æ·è·å</li></ul><p>B æå¡æ¶æå¸è¿éè¦èèæå¤æ
åµï¼å¦æå¡ A ç BUG</p><ul><li>æå¡ A åºè¯¥åªè°ç¨æå¡ B 䏿¬¡ï¼ä½å®é
æå¡ A è°ç¨äºå¤æ¬¡</li><li>æå¡ A è°ç¨é¢çåºè¯¥æ¯ 1 åé䏿¬¡ï¼ä½å®é
1 ç§ä¸æ¬¡</li><li>æå¡ A åºè¯¥å
å顺åºè°ç¨ B 俩次ä¸åæ¥å£ï¼ä½è°ç¨é¡ºåºç¸åãè¿ç§å¯è½æ¯ A ç Bugï¼æè
æ¯äºä»¶é©±å¨æ¶æé顺åºé®é¢ã</li></ul><p>对è¿ç§ âä¿©æ¡ä¸çº¿â 妿¤ç®åçæ¶æï¼å¯ä»¥çå°æ¶æå¸ç¸æ¯äºå级ç¨åºåï¼éè¦èèè¾å¤ï¼éè¦èè 10 + ç§æ
åµãè¿ç§èèå
¶å®ä¹ä¸æ¯æ¶æå¸æ ç§å¤´åæ³å°çï¼èæ¯åºäºææ¯æ¶æçæ¶æè´¨éèèçï¼æç§è¯´æ³ï¼è¯´æ¯æ¶æè´¨é驱å¨äºæ¶æè®¾è®¡ï¼ADDï¼ã</p><p>æè®¤ä¸ºç°å¨ç大é¨åç³»ç»é½åå°å¦ä¸æ¶æè´¨éç驱å¨</p><ul><li>æ¶æçé«å¯ç¨ï¼æ¯ç³»ç»è½å¤æ£å¸¸è¿è¡çæ¶é´æ¯ä¾ãå¯ç¨æ§ 999ï¼å³ 99.9% , ä¸å¹´åºæ
éæ¶é´ä¸º 8.76 å°æ¶ã</li><li>æ¶æç髿§è½ï¼ç³»ç»çååºæ¶é´ãç¸æ¯åä½ç³»ç»ï¼å¾®æå¡æ¶æï¼å®ç°ä¸ä¸ªåè½éè¦è°ç¨è¥å¹²å¾®æå¡ï¼æ¯ä¸ªå¾®æå¡æ§è½å½±åäºç³»ç»ååºé度ã ä¸ä¸ªè¡¡éæ§è½çææ TP95 ã</li><li>æ¶æçå¯è§æµï¼éå¸¸æ¶æçå¯è§æµæçæ¯è½è§æµå°ç³»ç»è¿è¡æ
åµï¼ç²å°çæ§æå¡çä¸»æºææ ï¼æè
æ¯ä¸ªæå¡è°ç¨æ¬¡æ°ï¼ç»å°çæµåç»è®¡æä¸ªå
³é®é»è¾è°ç¨æ¬¡æ°ï¼æ¶é¿ççã</li><li>æ¶æçå¯ä¿®æ¹ï¼æ¯å¦éè¿å¯é
ç½®å®ç°ç³»ç»çå¯ä¿®æ¹ï¼å
¶ä»è¿å
æ¬ä½¿ç¨ EventBusï¼ä½¿ç¨ä»£çï¼å¦ API ç½å
³ï¼ï¼ä½¿ç¨ DSL è¯è¨ï¼æèåç DSL åºè¯¥æ¯ SQL äºï¼å±è½äºä¸åæ°æ®åºå·®å¼)ï¼ä½¿ç¨èæ¬å¼æï¼ä½¿ç¨ classloaderï¼dcevm ççå è½½ææ¯ã</li></ul><p>å
¶ä»æ¶æè´¨éè¿æå¯é¨ç½²ï¼å¯é
ç½®ï¼å¯å级ï¼è·¨å¹³å°ï¼æç¨æ§çãå¯åè<a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fbbs.huaweicloud.com%2Fblogs%2F261499%3Futm_source%3Dzhihu%26utm_medium%3Dbbs-ex%26utm_campaign%3Dother%26utm_content%3Dcontent" target="_blank" rel="noopener noreferrer"> èªå¨æºä»£ç è´¨é度éï¼ISO/IEC 5055ï¼</a>, æ¯ä¸ªè´¨é屿§é½å¯¹åºäºå¤§éçè½¯ä»¶ææ¯ææ¯åå®ç°ï¼ä½å 为ç¯å¹
æéï¼ä¸ä¸æ¯æ¤çéç¹å
容ï¼å¨è¿éä¸åå详ç»åè¿°ã</p><p>é对工è¡çä¸å©ï¼ä¹æä»¥åé¢è¦è¿ä¹å°å¦çæå°æ¶æçè´¨éï¼æ¯å 为æè®¤ä¸ºå·¥è¡çä¸å©èåï¼æ¯å
¶å·¥è¡æ¶æ
1叿¯è§£å³å·¥è¡ä¸å¡ç³»ç»çæ¶æç俩个质é屿§</p><ul><li>å¯ä¿®æ¹æ§ï¼å½ä¸å¡éæ±ååï¼ç³»ç»å¦ä½è½å¿«éè°æ´ä¸çº¿ãä¸éè¦å¼åï¼çè³ä¸éè¦éå¯ç³»ç»ï¼ä¸å¡åå¨ä¹è½éè¿ç°åº¦ä¸çº¿ï¼æè
è½åæ»ã</li><li>å¯è§æµï¼è¿éçå¯è§æµï¼æçæ¯ä¸å¡åå¨çå¯è§æµï¼ç³»ç»ç»åäºå¤å°æ¬¡ä¸å¡åå¨ï¼æ¯æ¬¡åå¨ï¼ç³»ç»åäºä»ä¹è°æ´</li></ul><h2 id="ä¸å©è§£è¯»" tabindex="-1"><a class="header-anchor" href="#ä¸å©è§£è¯»"><span>ä¸å©è§£è¯»</span></a></h2><p>å¨æç« å¼å¤´ã»ï¼æå°äºä¸å©çæ¬è´¨æ¯ âé
置驱å¨çä¸å¡å¼åâï¼å¯ä»¥ä»ä¸å©æè¦ä¸è§£è¯»åºæ¥</p><p><em>æ¬åæå
¬å¼äºä¸ç§åºäº SpringBoot ç web ç³»ç»å端å®ç°æ¹æ³åè£
ç½®ï¼å
¶ä¸è¯¥æ¹æ³å
æ¬ï¼æ¥æ¶é¡µé¢æ¾ç¤ºå±ä¸éçæä½æ°æ®ï¼ä»æä½æ°æ®ä¸æåæä½æ°æ®å¯¹åºçä¸å¡ ID åç»´æ¤å¯¹è±¡ IDï¼ä»<strong>æ°æ®è®¿é®å±</strong>åå¨çä¸å¡åæ°è¡¨ä¸ï¼è·åä¸ä¸å¡ ID 对åºçé
置信æ¯ï¼æè¿°é
置信æ¯å
æ¬ä¸åæ°æ®å段åèªå¯¹åºçä¸å¡å¤çé»è¾ãæ¯ä¸ªæ°æ®å段æå¨çæ°æ®è¡¨ï¼ä»¥åæ¯ä¸ªæ°æ®åæ®µä¸æ°æ®è¡¨ä¸è¡¨å段ç<strong>æ å°å
³ç³»</strong>ï¼å°ç»´æ¤å¯¹è±¡ ID åä¸å¡å¤çé»è¾ç»å为æ¡ä»¶è¡¨è¾¾å¼ï¼å©ç¨æè¿°æ¡ä»¶è¡¨è¾¾å¼å¤çæè¿°æä½æ°æ®ãæ¬åæå¯ä»¥åå°å端ä¸å¡å±å¨å¼åè¿ç¨ä¸çåå¨ï¼éä½å¼åææ¬ï¼åæ¶æåç³»ç»çç¨³å®æ§ã
1</em></p><p>注æå°ä¸å©æå°äº<strong>ç»´æ¤å¯¹è±¡ ID</strong> å<strong>ä¸å¡ ID</strong>ï¼ç»´æ¤å¯¹è±¡å°±æ¯ CRUD çç®æ 对象ï¼ä¸å¡ ID ååè¯äºå¦ä½ CRUDï¼ä¸å¡ ID æç»å°çæå¤ä¸ª SQL è¯å¥ (ä¸å©ä¸æå°çæ¡ä»¶è¡¨è¾¾å¼)ãè¿ç§çææ¯èªå¨çï¼åºäºä¸å¡ ID ç¸å ³é ç½®ï¼è¿ä¹æ¯æè¯´çä¸å©æ¬è´¨æ¯<strong>é 置驱å¨å¼å</strong>ã以ä¸å©ä¸çä¾åå说æï¼ä¸å¡æäº¤å¦ä¸æ°æ®</p><div class="language-json line-numbers-mode" data-ext="json" data-title="json"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span> 2<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">sys_busi_id</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">31000</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span> 3<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">data_inf</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:{</span></span> 4<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> stu_name</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">å¼ ä¸</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span> 5<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> stu_sex</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">ç·</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span> 6<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> address</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">xxxxx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span> 7<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span> 8<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>å·¥è¡çç³»ç»ï¼éè¿ sys_busi_idï¼å¯ä»¥å°é¡µé¢æäº¤ç对象æ å°æä¿©ä¸ª sql è¯å¥å¹¶æ§è¡ï¼è¿æ ·ï¼ä¸éè¦åå°ç¨åºåå¼åä»»ä½ä»£ç </p><div class="language-sql line-numbers-mode" data-ext="sql" data-title="sql"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">insert into</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> stu (</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">id</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">name</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">sex</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">) </span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">values</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> (?,?,?);</span></span> 9<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">insert into</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> stu_address (</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">address</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">stu_id</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">) </span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">values</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> (?,?)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>讲å°è¿éï¼ä½ å¯è½æ¯è¾çæï¼å¦ä½çæ SQL è¯å¥åç¸åºçåæ°å¢ï¼è¿ä¸å©ä¸å¹¶æ²¡ææå°ãè¿å¯è½æ¯å¨å ¶ä»ä¸å©ä¸ï¼æè æ¯æ¤é¨åå®ç°å·²ç»åºäºæä¸ªå¼æºå®ç°ã æè æè®¤ä¸ºè¿æ¯ç³»ç»æ´æ ¸å¿é¨åï¼è¿äºå¼ºå¤§ï¼ä¸æ¹ä¾¿å¯¹å¤å ¬å¸ãæè¿éååºä¾åèç弿ºå®ç°ï¼å¦</p><ul><li>
9APIJSON, è ¾è®¯å ¬å¸å¼æºçå·¥å ·ï¼é¶ä»£ç ãå ¨åè½ã强å®å ¨ ORM åº ï¼å端æ¥å£åææ¡£é¶ä»£ç ï¼å端 (客æ·ç«¯) å®å¶è¿å JSON çæ°æ®åç»æ</li><li>ä½ä»£ç å¹³å°ï¼å¦ JEECG çä½ä»£ç 弿ºå¹³å°ï¼æ éç¼ç å³å¯å®ç°å ¨æ ä¸å¡åè½ã</li></ul><p>åå°ä¸å¡ IDï¼ä¸é¢è¯´äºä¸å©å¹¶æ²¡æè®²æ¸ æ¥ä¸å¡ ID æ¯å¦ä½ç»´æ¤ãä½è·æ®éç对象 ID 䏿 ·ï¼ä¹æ¯éè¦å¢å æ¹æ¥ï¼ä¿æåå²çæ¬ä»¥æ¯æå¯è§å¯ï¼ä»¥åå¯åæ»ãä¸å¡ ID çæ°æ®ç»ææ¯ä¸ä¸ªé ç½®ï¼ç±»ä¼¼å¦ä¸ JSON ( 注æï¼ä»¥ä¸ JSON æ¯æçæ³è±¡ï¼å¹¶éä¸å©ä¸é¨å âï¼</p><div class="language-json line-numbers-mode" data-ext="json" data-title="json"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span> 10<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> sys_busi_id</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">31000</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span> 11<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> mapping_table</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:{</span></span> 12<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> stu</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:[</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">stu_name</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">stu_sex</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">],</span></span> 13<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> stu_address</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> :[</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">address</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span> 14<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span> 15<span class="line"><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> validate</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:{</span></span> 16<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">stu_sex</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:{</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">in</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:[</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">ç·</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">ï¼</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">女</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]}</span></span> 17<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">address</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">@adressExpression(?)</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span> 18<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span> 19<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>ä¸é¢ç json æ ¼å¼ä¸ï¼mapping_table æç¤ºäºå¦ä½å段æ å°å°æ°æ®åºè¡¨ä¸ï¼validate åæç¤ºäºå ¥åºåï¼æå¡ç«¯å¦ä½æ ¡éªæ°æ®ãè¿æ¨æµè¿éç validate æå¯è½å¤ç¨äº Spring Boot ç validation starterã</p><p>å¦æä½ è¿è½èå¿è¯»å°è¿éï¼ä½ å¯è½æ´å çæï¼ç»´æ¤ä¸å¡ ID å²ä¸æ¯é常麻ç¦ãçæ¡ï¼æ¯çã æ³æ¥å·¥è¡çæ¶æå¸è®¾è®¡åºæ¥çè¿å¥ç³»ç»ï¼ç¨åºåé½éè¦äºè§£è¿ä¸å¥æ°çè¿ç§ DSL è䏿¯ç¨ Java å CRUDï¼ä¸é¢ç JSONï¼æå¨æ¶æçå¯ä¿®æ¹éæå°è¿ DSLï¼ï¼å¦è¿ SQL é½ç¥é SQL è¿æ¯æ¯è¾é¾å¦ï¼ å¦ä¹ ä¸å¥å¤çä¸å¡çä¸ç¨ DSL æ´é¾ï¼å ¶ä»é¾ç¹è¿æ</p><ul><li>æ¯å¦æå¯è§åçé¢ç®¡çè¿äºé 置对象â ä¸å¡ IDâï¼æ¯å¦å¯è§åçé¢å»ºç«ä¸å¡å¯¹è±¡åæ°æ®åºè¡¨çæ å°</li><li>å¦ä½éªä¸å¡ ID çæ£ç¡®æ§ï¼æ¯å¦ä¸é¢åç "@adressExpression (?)"ï¼ç¨åºåå°åäºä¸ªâdâ</li><li>å³ä½¿æå¯è§åçé¢ï¼æç»ä¹è¦å¯¼åºæ DSLï¼å¨éªæ¶æè ç产ç¯å¢ä¸æ§è¡çæï¼DSL è¯è¨å¯è½é常é¾å¦ï¼å¯è½å·¥è¡è¿ä¼æ JSON Schema ç¨æ¥éªè¯ DSL</li><li>è¿ç§ DSL éè¦æçæ¬æ¦å¿µï¼è¿å¨ä¸å©ä¸æ²¡æçå°æå°ï¼ä½æ³æ¥åºè¯¥ä¸ºäºè½æ¥çåå²ï¼åæ»ï¼æ¯æçæ¬æ¦å¿µï¼å°±å代ç ççæ¬æ§å¶ä¸æ ·ã</li><li>
19ä¸å¡ ID çä¿®æ¹åä¸çº¿ï¼åºè¯¥æä¸ä¸ªå®æ´çæµç¨ï¼æ¶åäºäº§åï¼QAï¼é¡¹ç®ç»çç人审æ¹ï¼åå¸ä¸çº¿ãå¯è½è¿éè¦è·å·¥è¡å·²æç DevOp ç³»ç»ç»åèµ·æ¥ã</li></ul><p>å¯ä»¥çå°ï¼æ¤ä¸å©åºè¯¥æ¯å·¥è¡ç³»ç»çå°å±±ä¸è§ï¼æ³å¿
ä»ä»¬ä¹ä»åºäºå¾å¤å¹´ç积累ã</p><h2 id="ç»è®º" tabindex="-1"><a class="header-anchor" href="#ç»è®º"><span>ç»è®º</span></a></h2><p>尽管维æ¤<strong>ä¸å¡ ID</strong> é常麻ç¦ï¼ç¨åºåè§å¾å¾ä¸å¿å¤±ï¼ä½æ¶æçå¯ä¿®æ¹æ§åå¯è§æµå¾å°äºæ»¡è¶³ã对äºå·¥è¡è¿æ ·ä¸ä¸ªå¤§ä½éçå
¬å¸åå®ç大ä½éç³»ç»ï¼è¿ä¸ªæå
¥è¿æ¯ä¸äºçï¼è¿ä¹æ¯ä¸ºä»ä¹æ¤åºäºé
置驱å¨å¼åçç³»ç»è½å¨å·¥è¡åºç¨å¹¶ç³è¯·ä¸ºä¸å©çåå ãæ¤ä¸å©æ¾ç¤ºçç³»ç»ç¸æ¯èµ·å
¶ä»ä½ä»£ç å¹³å°ï¼åè½å¼±ä¸äºï¼ä½åºäºå·¥è¡ç¹å®åºç¨ï¼åºè¯¥æ¯è½æ»¡è¶³çæ¶æå¯ä¿®æ¹æ§åå¯è§æµ</p><p>ä½è
æ¬äººï¼ é²å¤§èµï¼æå®¶æºï¼ï¼Java å·¥ä½ç»éª 24 å¹´ï¼å¨å¤ä¸ªè¡ä¸å¤´é¨ä¼ä¸æ
ä»»æ¶æå¸ï¼å个 3 æ¬ Java 书ï¼ä»¥å Beetl å BeetlSQL 弿ºä½è
ã</p>`,38)]))}const d=s(h,[["render",p],["__file","index.html.vue"]]),o=JSON.parse('{"path":"/article/zhuanli/","title":"解读工è¡ä¸å© CN112905176B","lang":"en-US","frontmatter":{"title":"解读工è¡ä¸å© CN112905176B","tags":["å¯è§æµæ§","æ¶æ"],"createTime":"2024/11/06 18:45:38","permalink":"/article/zhuanli/","description":"æ®å½å®¶ç¥è¯äº§æå±å
¬åï¼ä¸å½å·¥åé¶è¡è¡ä»½æéå
¬å¸è¿æ¥åå¾ä¸é¡¹å为 âåºäº SpringBoot ç web ç³»ç»å端å®ç°æ¹æ³åè£
ç½® âçä¸å©ï¼ææå
¬åå· CN112905176Bï¼ç³è¯·æ¥æä¸º 2021 å¹´ 2 æã img è¿é¡¹ä¸å©å¾å¤ç¨åºå表示çä¸æï¼æè
ç´æ¥è®¤ä¸ºæ¯ä¸ä¸ª CRUD ä¸å©ãæä½ä¸ºä¸ä¸ªæ¶æå¸ï¼å°è¯ä»æ·±å°æµ
ç解读ä¸ä¸è¿ä¸ªä¸å©ï¼ä»¥åä¸å©èåï¼å·¥...","head":[["meta",{"property":"og:url","content":"http://ibeetl.com/article/zhuanli/"}],["meta",{"property":"og:site_name","content":"é²å¤§èµ"}],["meta",{"property":"og:title","content":"解读工è¡ä¸å© CN112905176B"}],["meta",{"property":"og:description","content":"æ®å½å®¶ç¥è¯äº§æå±å
¬åï¼ä¸å½å·¥åé¶è¡è¡ä»½æéå
¬å¸è¿æ¥åå¾ä¸é¡¹å为 âåºäº SpringBoot ç web ç³»ç»å端å®ç°æ¹æ³åè£
ç½® âçä¸å©ï¼ææå
¬åå· CN112905176Bï¼ç³è¯·æ¥æä¸º 2021 å¹´ 2 æã img è¿é¡¹ä¸å©å¾å¤ç¨åºå表示çä¸æï¼æè
ç´æ¥è®¤ä¸ºæ¯ä¸ä¸ª CRUD ä¸å©ãæä½ä¸ºä¸ä¸ªæ¶æå¸ï¼å°è¯ä»æ·±å°æµ
ç解读ä¸ä¸è¿ä¸ªä¸å©ï¼ä»¥åä¸å©èåï¼å·¥..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2025-02-18T15:25:35.000Z"}],["meta",{"property":"article:tag","content":"å¯è§æµæ§"}],["meta",{"property":"article:tag","content":"æ¶æ"}],["meta",{"property":"article:modified_time","content":"2025-02-18T15:25:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"解读工è¡ä¸å© CN112905176B\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-02-18T15:25:35.000Z\\",\\"author\\":[]}"]]},"headers":[],"readingTime":{"minutes":9.21,"words":2763},"git":{"updatedTime":1739892335000,"contributors":[{"name":"lijiazhi","username":"lijiazhi","email":"[email protected]","commits":2,"avatar":"https://gravatar.com/avatar/1b5114831459724ad4acc394423b4b48ecfa4a7e0659fbe07a0ce5181a1050a7?d=retro"}]},"autoDesc":true,"filePathRelative":"article/æ¥å¸¸/about-zhuanli-CN112905176B.md","categoryList":[{"id":"92a2b5","sort":10000,"name":"article"},{"id":"d1c8f4","sort":10007,"name":"æ¥å¸¸"}]}');export{d as comp,o as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.