浣滀负涓€涓狫ava鍚庣寮€鍙戣€咃紝鍦ㄦ棩甯稿伐浣滀腑锛岄毦鍏嶈鐢熸垚鏁版嵁搴撹〃瀵瑰簲鐨勬寔涔呭寲瀵硅薄PO锛屾搷浣滄暟鎹簱鐨勬帴鍙AO锛孋RUD鐨刋ML锛屼篃灏辨槸mapper銆侻ybatisGenerator鏄疢yBatis瀹樻柟鎻愪緵鐨勪唬鐮佺敓鎴愬伐鍏凤紝瀹屽叏鍙互鑳滀换杩欓」宸ヤ綔銆備笉杩囨渶杩戝湪寮€鍙戔€滅紪绋嬬尗鈥濆紑婧愮綉绔欐椂锛岃瘯鐢ㄤ簡MyBatis-Plus瀹樻柟鎻愪緵鐨凙utoGenerator锛屽彂鐜伴厤缃洿绠€鍗曪紝寮€鍙戞晥鐜囨洿楂橈紒鎵€浠ュ氨鏉ョ粰灏忎紮浼翠滑瀹夊埄涓€娉€傛斁涓€寮燝IF鎰熷彈涓€涓婣utoGenerator鐢熸垚浠g爜鐨勫揩鎰熴€備竴銆佷娇鐢∕ybatisGenerator涓轰簡褰㈡垚椴滄槑瀵规瘮锛屾垜浠厛鐢∕ybatisGenerator鐢熸垚涓€娈典唬鐮侊紝鎰熷彈涓€涓嬫暣涓繃绋嬨€傜涓€姝ユ槸鍦╬om.xml鏂囦欢涓坊鍔燤ySQL+MyBatis鐨勪緷璧栵紙MybatisGenerator鐨勫墠鎻愭潯浠讹級銆?!--MySQL杩炴帴姹?->mysqlmysql-connector-java${mysql.version}<琛ㄦā寮?鈥溾€濊〃鍚?鈥滅敤鎴封€漝omainObjectName=鈥滅敤鎴封€漞nableCountByExample=鈥滃亣鈥漞nableDeleteByExample=鈥滃亣鈥漞nableSelectByExample=鈥滃亣鈥漞nableUpdateByExample=鈥滃亣鈥漵electByExampleQueryId=鈥滃亣鈥?琛?涓婁笅鏂?/generatorConfiguration>閰嶇疆鏂囦欢蹇呴』鑷冲皯鍖呭惈涓€涓猚ontextcommentGenerator閰嶇疆鐢熸垚鐨勬敞瑙dbcConnection閾炬帴鏁版嵁搴搄avaTypeResolver閰嶇疆JDBC鍜孞ava绫诲瀷杞崲瑙勫垯javaModelGenerator閰嶇疆po鐢熸垚鐨勫寘璺緞鍜岄」鐩矾寰剆qlMapGenerator閰嶇疆鐢熸垚鐨勭洰褰昺apper.xml鏂囦欢javaClientGenerator閰嶇疆mapper.java鏂囦欢鐢熸垚鐨勭洰褰曘€備竴琛ㄤ竴琛ㄣ€傚鏋滆鍚屾椂鐢熸垚澶氬紶琛紝闇€瑕侀厤缃寮犺〃銆傛洿澶氶厤缃俊鎭鍙傝€冧互涓嬫枃绔狅細https://juejin.cn/post/684490...鍥犱负鏁版嵁搴撹〃鍙兘浼氬彂鐢熷彉鍖栵紝鎴戜滑闇€瑕佹坊鍔犱竴涓厤缃?overwrite>true鏉ュ厑璁歌瑕嗙洊鐨勬棫鏂囦欢銆備负浜嗛槻姝㈡垜浠啓鐨凷QL璇彞琚鐩栵紝MyBatisGenerator鍙細瑕嗙洊鏃х殑po銆乨ao锛岃€?mapper.xml涓嶄細琚鐩栵紝鑰屾槸杩藉姞銆侻ybatisGenerator闇€瑕侀摼鎺ユ暟鎹簱锛屾墍浠ヨ繕闇€瑕佹坊鍔犳暟鎹簱椹卞姩渚濊禆锛屽儚杩欐牱锛?configuration>mysqlmysql-connector-java${mysql.version}杩欎釜浼氭樉寰楀浣欙紝鍥犱负鎴戜滑涔嬪墠娣诲姞浜嗐€傚垢杩愮殑鏄紝Maven鎻愪緵浜唅ncludeCompileDependencies灞炴€э紝瀹冨厑璁告垜浠湪鎻掍欢涓紩鐢ㄤ箣鍓嶆坊鍔犵殑渚濊禆椤广€?includeCompileDependencies>true鑷虫mybatis-generator-maven-plugin閰嶇疆瀹屾垚锛屽畬鏁村唴瀹瑰涓嬶細org.mybatis.generatormybatis-generator-maven-plugin1.3.7src/main/resources/mybatis-generator-config.xmltruetrue閰嶇疆瀹屾垚鍚庯紝鍙互鍙屽嚮杩愯Maven鎻掍欢MybatisGenerator銆傚鏋滄病鏈夐棶棰橈紝灏卞彲浠ョ湅鍒癎eneratedfiles銆?銆佷娇鐢∕yBatis-Plus鐨凙utoGeneratorMyBatis-Plus锛堢畝绉癕P锛夋槸MyBatis鐨勫寮哄伐鍏枫€傚畼鏂圭ОMP鍜孧yBatis鐨勫叧绯诲氨鍍忛瓊鏂楃綏涓殑1P鍜?P銆侫utoGenerator鏄疢yBatis-Plus鎺ㄥ嚭鐨勪唬鐮佺敓鎴愬櫒锛屽彲浠ュ揩閫熺敓鎴怑ntity銆丮apper銆丮apperXML銆丼ervice銆丆ontroller绛夊悇涓ā鍧楃殑浠g爜锛屾瘮MybatisGenerator鍔熻兘鏇村己澶э紝寮€鍙戞晥鐜囨洿楂樸€傞€氳繃涔嬪墠鐨勪綋楠岋紝鎯冲繀澶у宸茬粡鎰熷彈鍒颁簡MybatisGenerator鐨勭箒鐞愩€傛帴涓嬫潵锛屾垜浠潵浣撻獙涓€涓婣utoGenerator銆傚姣斾箣鍚庯紝澶у蹇冧腑閮芥湁浜嗙瓟妗堛€傜涓€姝ユ槸鍦╬om.xml鏂囦欢涓坊鍔燗utoGenerator渚濊禆椤广€?dependency>com.baomidoumybatis-plus-generator3.4.1绗簩姝ユ坊鍔犳ā鏉垮紩鎿庝緷璧栵紝MyBatis-Plus鏀寔Velocity锛堥粯璁わ級銆丗reemarker銆丅eetl锛岃繖閲屼娇鐢ㄩ粯璁ょ殑Velocity寮曟搸銆?dependency>org.apache.velocityvelocity-engine-core2.3绗笁姝ュ叏灞€閰嶇疆銆?/鍏ㄥ眬閰嶇疆GlobalConfiggc=newGlobalConfig();StringprojectPath=System.getProperty("user.dir");gc.setOutputDir(projectPath+"/src/main/java");gc.setAuthor("娌夐粯涔嬬帇浜?);gc.setOpen(false);gc.setDateType(DateType.ONLY_DATE);gc.setSwagger2(true);gc.setIdType(IdType.AUTO);绗洓姝ワ紝閰嶇疆鏁版嵁婧愩€?/鏁版嵁婧愰厤缃瓺ataSourceConfigdsc=newDataSourceConfig();dsc.setUrl("jdbc:mysql://ip:3306/codingmoretiny02?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setUsername("codingmoretiny02");dsc.setPassword("123456");绗簲姝ユ槸閰嶇疆鍖呫€?/鍖呴厤缃甈ackageConfigpc=newPackageConfig();pc.setParent("top.codingmore.mpg");鏇村閰嶇疆椤瑰彲浠ュ湪瀹樼綉鏌ョ湅锛歨ttps://baomidou.com/pages/06...samplecode绀轰緥濡備笅锛歱ublicclassCodeGenerator{publicstaticvoidmain(String[]args){//浠g爜鐢熸垚鍣ˋutoGeneratormpg=newAutoGenerator();GlobalConfiggc=newGlobalConfig();StringprojectPath=System.getProperty("鐢ㄦ埛.dir");gc.setOutputDir(projectPath+"/src/main/java");gc.setAuthor("娌夐粯涔嬬帇2");mpg.setGlobalConfig(gc);DataSourceConfigdsc=newDataSourceConfig();dsc.setDriverName("com.mysql.cj.jdbc.Driver");mpg.setDataSource(dsc);mpg.execute();}}鍐嶆杩愯鍚庣湅鏁堟灉锛屽彲浠ョ湅鍒癱ontroller锛宻ervice锛宔ntity锛孧apper绛夌瓑閮芥湁浜嗏€斺€斿弻澶栧锛?.鎬荤粨涓庡姣旀瘮杈僊ybatis鐨凣enerator鍜孧yBatis-Plus鐨凙utoGenerator锛屾垜浠彲浠ュ緱鍑鸿繖鏍风殑缁撹锛氬悗鑰呴厤缃洿绠€鍗曪紝寮€鍙戞晥鐜囨洿楂橈紝鍔熻兘鏇村畬鍠勩€傛洿寮哄ぇ鈥斺€斿彲浠ュ揩閫熺敓鎴怣apper銆丮odel銆丼ervice銆丆ontroller灞備唬鐮併€侻yBatis-Plus纭疄涓嶆劎鏄疨lus锛岀‘瀹炰紭绉€銆傚鏋滀綘鎯宠涓€涓畬鏁寸殑渚嬪瓙锛屼綘鍙互鍦℅itHub涓婃煡鐪嬶細https://github.com/itwanger/c...鏈枃宸茶GitHub涓?.5k+stars鐨勫紑婧愪笓鏍忋€奐ava 绋嬪簭鍛樿繘闃朵箣璺€嬫敹褰曘€傛湰涓撴爮椋庤叮骞介粯锛岄€氫織鏄撴噦锛屽Java鐖卞ソ鑰呮瀬鍏跺弸濂藉拰鑸掑績馃槃锛屽唴瀹瑰寘鎷絾涓嶉檺浜嶫ava鍩虹銆丣ava闆嗗悎妗嗘灦銆丣avaIO銆丣ava骞跺彂缂栫▼銆丣ava铏氭嫙鏈恒€丣ava浼佷笟寮€鍙戯紙Git銆丼SM锛?SpringBoot)绛夋牳蹇冪煡璇嗙偣銆俬ttps://github.com/itwanger/toBeBetterJavaerstar杩欎釜瀛樺偍搴撴剰鍛崇潃浣犳湁娼滃姏鎴愪负涓€鍚嶄紭绉€鐨凧ava宸ョ▼甯堛€備篃鍙互鐐瑰嚮涓嬫柟閾炬帴璺宠浆鍒般€奐ava 绋嬪簭鍛樿繘闃朵箣璺€嬪畼缃戯紝寮€鍚剦蹇殑瀛︿範涔嬫梾銆俬ttps://tobebetterjavaer.com/娌℃湁浠€涔堣兘闃绘鎴戔€斺€旈櫎浜嗙洰鐨勶紝鍗充娇宀歌竟鏈夌帿鐟般€佺豢鑽拰瀹侀潤鐨勬腐婀撅紝鎴戜篃涓嶅彈鏉熺細銆?/p>