Artikel sebelumnya penggunaan rekayasa terbalik mybatis terutama berbicara tentang penggunaan mybatis-generator-core-1.3.2.jar. Yang ingin saya perkenalkan dalam artikel ini adalah untuk memodifikasi kode paket JAR untuk mencapai generasi templat khusus.
1. Dari sini kita dapat mengunduh kode sumber proyek mybatis-generator-core-1.3.2.
http://maven.outofmemory.cn/org.mybatis.generator/mybatis-generator-core/1.3.2/
2. Impor Proyek Maven yang ada di bawah Eclipse, File-> Impor
Pilih lokasi kode sumber proyek dan klik selesaikan untuk menyelesaikan impor.
Struktur direktori proyek kira -kira seperti ini.
3. Di bawah ini saya membalikkan format pemetaan dan XML untuk dihasilkan.
4. Mulai memodifikasi, pertama -tama jelaskan setiap direktori
Paket TSE di bagian bawah adalah paket khusus saya, yang merupakan kelas utama, menguji apakah kode yang dihasilkan memenuhi standar yang diharapkan.
Karena paket ini ditulis oleh orang asing, gaya kode yang dihasilkan tidak sama dengan kami. Jika Anda ingin memodifikasi format kode, disarankan agar Anda membaca artikel tentang gajah nanas. Saya tidak akan berbicara tentang format kode di sini.
http://www.blogjava.net/bolo/archive/2015/03/20/423683.html
Pertama, pertama -tama kami memodifikasi kode pemetaan file antarmuka yang akan dihasilkan oleh proyek terbalik. Secara default, ada penambahan, penghapusan, modifikasi dan pencarian. Mari kita bicara tentang salah satu metode modifikasi untuk diperbarui.
Misalnya, saya ingin memiliki metode seperti itu dalam pembaruan pemetaan yang dihasilkan (peta <string, objek> datamap);
Ubah kelas UpdateByPrimaryKeyWithOutBlobSmethodgenerator di bawah org.mybatis.generator.codegen.mybatis3.javamapper.elements Paket, sebagai berikut:
/** Hak Cipta 2009 The Apache Software Foundation ** dilisensikan di bawah Lisensi Apache, Versi 2.0 ("Lisensi");* Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Adalah "basis,* tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat.* Lihat lisensi untuk izin tata kelola bahasa tertentu dan* pembatasan di bawah lisensi.*/Paket org.mybatis.generator.codegen.mybatis3.javamapper.elements; impor java.util.set; impor java.util.trereeStreet; org.mybatis.generator.api.dom.java.fullyqualifiedjavatype; impor org.mybatis.generator.api.dom.java.interface; impor org.mybatis.generator.api.java.javisibilitas; impor.MyBaTi.api. org.mybatis.generator.api.dom.java.parameter;/**** @author Jeff Butler**/Public Class UpdateByPrimaryKeyWithOutBloBsmethodgenerator ExtendSAbStracGenerator () {UprimaryPrimaryKeyWithOutBlobMethodgenerator () {Public UpdateByPrimaryKeTOnBlobSmethodgenerator () {Public UpdateByPrimaryWithOutBlobSmethodgenerator () {Public UpdateByPrimaryWithOutBlobsmethodgenerator () {Public updateByPrimaryWithOnblobsmethodGenator () {{evidePrimaryprimaryKeyor AddInterFaceElements (Antarmuka Antarmuka) {SET <LURUSQUALIFIEDJAVATYPE> ImportedTypes = TreeSet baru <SelfqualqualyJAvatype> (); Metode FullQualifyJAvatype ParameTerType = Metode FullQualifedType (introspectedTable.getBaserecordType (); ImportedType (introspectedTable); Method (); // Tambahkan metode pengubah publicmethod.setVisability (javavisability.public); // Tetapkan nilai pengembalian, di sini saya menggunakan kekosongan khusus, metode tanpa nilai pengembalian getvoidInstance () // Kelas yang benar -benar dapat dikustomisasi, Anda dapat menyesuaikan metode yang baru, Anda dapat menambahkannya sendiri // jika Anda tidak ingin menjadi seperti itu, Anda tidak mau merepotkan, Anda dapat menambahkannya sendiri, Tipe pengembalian pada metode konstruktor.setReturnType (FullQualifiedJavatype.GetVoidInstance ()); // Atur nama metode, Anda juga dapat masuk dan lihat Method.setName (introspectedtable.getUpdatebyPrimaryKeyStateDID ()); // method.addparameter (parameter baru (parameter baru (parameter baru ()); "); // method.addparameter (parameter baru (parameter baru (parameter baru () ());"); " // $ non-nls-1 $ fullqualifiedJavatype maptype = fullqualifiedJavatype.getMymapInstance (); // parameter metode, berikut adalah parameter datemap dari parameter tipe peta = parameter baru (maptype, "datamap"); method.addparameter (parameter); context.getCommentGenerator (). AddGeneralMethodComment (Metode, IntrospectedTable); AddMapperNotations (Interfaze, Metode); if (context.getplugins (). clientupDateByPrimaryKeyWithOutBloBsmethodgenerated (Metode, Interfaze, IntrospectedTable)) {Interfaze.AddimportedTypes (ImportedTypes); antarmuka. Anda dapat memodifikasinya sesuai dengan komentar.
Selanjutnya, ubah kode dalam XML pemetaan yang sesuai. Demikian pula, di sini saya hanya akan memperkenalkan metode pembaruan. Saya percaya bahwa setelah membacanya, Anda dapat memodifikasi metode lain sendiri.
Ubah kelas UpdateByPrimaryKeyWithOutBlobSelementGenerator di bawah org.mybatis.generator.codegen.mybatis3.xmlmapper.elements Paket, sebagai berikut:
/** Hak Cipta 2009 The Apache Software Foundation ** dilisensikan di bawah Lisensi Apache, Versi 2.0 ("Lisensi");* Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Adalah "basis,* tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat.* Lihat lisensi untuk izin tata kelola bahasa tertentu dan* pembatasan di bawah lisensi.*/Paket org.mybatis.generator.codegen.mybatis3.xmlmapper.elements; impor java.util.iterator; impor java.util.Upporn.Upporn.Upporn.Upporn.Upporn.Ucporn.Upporn.Upporn. org.mybatis.generator.api.introspectedcolumn; impor org.mybatis.generator.api.dom.outpututilities; impor org.mybatis.generator.api.dom.xml.attribute; impor org.mybatis.generator.api.mi.mi.mlom.com. org.mybatis.generator.api.dom.xml.XmlElement;import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities;/*** * @author Jeff Butler* */public class UpdateByPrimaryKeyWithoutBLOBsElementGenerator extendsAbstractXmlElementGenerator {//private boolean isSimple;public UpdateByPrimaryKeyWithoutBLOBsElementGenerator(boolean isSimple) {super();//this.isSimple = isSimple;}@Overridepublic void addElements(XmlElement parentElement) {//update tag (exterior layer of method)XmlElement answer = new XmlElement("update"); // $ non-nls-1 $ // asses dari tag update answer.addattribute (atribut baru ("id", introspectedtable.getupDateByPrimaryKeyStatementId ())); //$non-nls-1$swer.addattribute(new Atribut ("ParameterType", // $ non-nls-1 $ "peta")); // Tambahkan tag ke dalam context.getCommentGenerator (). AddComment (Jawab); StringBuilder SB = New StringBuilder (); SB.Append ("Update"); //$non-nls-1$sb.Append(introspectedTable.getlyQualifiedTableNeAtRuntime()); konten, yaitu, elemen teks jawaban.addelement (TextElement baru (sb.tostring ())); SB.SetLength (0); // Set Tag Xmlelement SetElement = new XMLelement ("Set"); //$NON-NLS-1$//Get all fields in the database table List <IntrospectedColumn> cols=introspectedTable.getAllColumns();//Iteration java.util.Iterator<IntrospectedColumn> iter =cols.iterator();while (iter.hasNext()) {//Iterate//Iterate to a certain field IntrospectedColumn introspectedColumn = iter.next (); // if tag xmlelement ifeLement = new xmlelement ("if"); // $ non-nls-1 $ // nama bidang string str = mybatis3FormatTilities.geteScapedColumnName (introspectedColumn); // jika tag menambahkan uji atribut, nilainya adalah bidang! = Null dan field! = '' Ifelement.adDattribute (Atribut baru ("tes", str+"! = Null dan nullement. bidang nilai yang akan dimodifikasi SB.Append (MyBATIS3FormatTeTilities.getescapedColumnName (introspectedColumn)); SB.Append ("="); //$non-nls-1$sb.append(mybatis3FormatTilities.getParameterClause(introspectedColumn)); if (iter.hasnext ()) {sb.append (',');} // Jika tag menambahkan elemen teks di atas ifelement.addelement (TextElement baru (sb.tostring ())); if (iter.hasnext ()) {sb.setlength (0); outpututilities.xm 1);} setelement.addelement (ifeLement);} // di mana elemen (prasyarat bidang dimodifikasi) xmlelement whereElement = new xmlelement ("where"); for (introspectedColumn introspectedColumn: diperkenalkan ke tabel ke tabel ingrimarycolumns ()) {// transfer the fields.getprimarykolumns ()) {// transfer the fields.pene -lishprimarycolumns ()) {// Transfer the fields.pene -lishprimaryColumns ()) {// Transfer the fields.pene -lishprimaryColumns ()) {// Transfer the fields ke tabel di TabelPrimaryKolumns ()) {// Transfer the Fields. SB.SetLength (0); SB.Append (MyBATIS3FormatToTilities.getescapedColumnName (introspectedColumn)); SB.Append ("="); //$non-nls-1$sb.Append(mybatis3FormatTilities.getParameterClause(introspectedColumn));whereElement.addelement( TextElement (SB.ToString ());} // Tambahkan elemen yang ditetapkan dan elemen di mana dalam elemen xml; Jawaban. if (context.getplugins (). sqlmapupdateByPrimaryKeyWithOutBlobSelementgenerated (Jawab, introspectedtable)) {parentElement.addelement (Jawab);}}} Anda dapat memodifikasi metode lain sesuai dengan metode pembaruan ini.
Jika Anda ingin menambahkan metode baru, silakan merujuk ke posting berikut
http://m.blog.csdn.net/article/details?id=35985705
Selanjutnya saya akan memverifikasi hasil modifikasi
GeneratorConfig.xml // Mengkonfigurasi XML terlebih dahulu dan letakkan di SRC/Main/Resources/Directory <? XML Version = "1.0" encoding = "UTF-8"?> <! Doctyator GeneratorConfiguration Public "-// mybatis.org//dtd Mybatis Generator Configuration 1.0 // mybatis.org//dtd Generator Generators 1.0 // mybatis.org//dtd 1.0 // mybatis.org/dtd 1.0 // mybatis.org/dtd Generator Generators Configuration 1.0 // mybatis.org/dtd 1.0 // mybatis.org/dtd 1.0 // mybatis.org "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <GeneratorConfiguration> <!-memperkenalkan file konfigurasi-> <!-Tentukan alamat driver koneksi data-> <classpathentry Lokasi = "e: /eclipse_workspace/testmybatis/mysql-connector-java-5.1.13-bin.jar"/> <!-satu konteks untuk database-> <context id = "InfoGuardian" TargetRuntime = "mybatis3"> <!-Comments-"InfoGuardian" TargetRuntime = "MyBATIS3"> <! Uncomment-> <name properti = "SuppressDate" value = "true" /> <!-Apakah akan menghasilkan cap waktu pembuatan komentar-> < /commentgenerator> <!-koneksi jdbc-> <jdbcconnection driverclass = "com.mysql.jdbc.driver" ConnectionUrl = "jdbc: mysql: // localhost: 3306/login? karakterEncoding = utf-8" userid = "root" kata sandi = "root"/> <!-ketik konversi-> <Javatyperesolver> <!-apakah akan menggunakan name yang besar, tidak ada yang bisa mengonversi jenis-jenis berikut (panjang, panjang, ") <cuppor, dll. value = "false"/> </javatyperesolver> <!-Menghasilkan alamat kelas entitas-> <javamodelgenerator targetpackage = "pojo" targetProject = "mybatis3"> <!-apakah akan menambahkan lapisan skema baru di bawah jalur saat ini, misalnya: fase jalur cn.ffcs.tomen, "fase cn.ffcs.tomin." -> <name properti = "enableSubpackages" value = "true"/> <!-Apakah akan memanggil trim saat ditetapkan untuk bidang jenis string-> <name properti = "trimstrings" value = "true"/> </javamodelgenerator> <!-menghasilkan "myboPreT" target "target" mybape- "mybape" mybape- "mybape =" mybape "mybape" mybape- "mybape" mybape "myBaPaPreK =" mapper " Lapisan skema di bawah jalur saat ini, misalnya: jalur fase cn.ffcs.test.domain ", true: cn.ffcs.test.domain". [schemaname]-> <nama properti = "enableSubpackages" value = "true" /> < /sqlmapgenerator> <! type = "xmlmapper" targetPackage = "mapper" targetProject = "mybatis3"> <!-apakah akan menambahkan lapisan skema baru di bawah jalur saat ini, misalnya: fase path cn.ffcs.test.domain ", true: cn.ffcs.test.domain". [schemaname]-<nama properti = " </javaclientgenerator> <!-Mengkonfigurasi informasi tabel, tidak ada tabel yang dihasilkan di sini, nama tabel yang sesuai perlu diubah satu kali-> <tableName = "login" domainObjectName = "login" enableCountByexample = "false" enableDeLetExample = "false" memungkinkan selectbyexample = "false" enableDeLetExample = "false" enableCelectByExample = false "false" false "false =" FALSE "false =" false "false" false "false" false "false" false "false" </GeneratorConfiguration>
Startup.java// program utama untuk verifikasi
paket tse; impor statis org.junit.assert.asserquals; impor java.io.file; impor java.util.arraylist; impor org.utilor.etig.aponator.mybatisgener; org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.internal.DefaultShellCallback;public class StartUp {public static void main(String []args)throws Exception{List<String> warnings = new ArrayList<String>();File configFile=new File(StartUp.class.getResource("/generatorConfig.xml").toURI());ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback shellCallback = new DefaultShellCallback(true);MyBatisGenerator myBatisGenerator = new Mybatisgenerator (config, shellcallback, peringatan); mybatisgenerator.generate (null); system.out.println (peringatan);}} Oke, jalankan startup.java
File yang sesuai dihasilkan di direktori target sesuai dengan konfigurasi GeneratorConfig.xml.
Oke, hasil yang sama seperti yang saya harapkan.
5. Setelah modifikasi di atas, kami mulai berkemas.
Karena ini adalah proyek Maven, saya menggunakan Maven3.3.9, dan Anda juga dapat menggunakan gerhana bawaan Maven, tapi saya tidak menyukainya.
Di bawah ini adalah kode file pom.xml dari proyek maven saya
<? Xml Version = "1.0" encoding = "UTF-8"?> <!-Hak Cipta 2009-2011 Teamlicense Mybatis di bawah Lisensi Apache, Versi 2.0 ("Lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi atttp: //www.apache.org/licenses/license-2.0unkhips disyaratkan oleh hukum yang berlaku atau disepakati secara tertulis, softwareDistributed di bawah lisensi yang ditimbulkan oleh lisensi. Lisensi .--> <!-Versi: $ ID: pom.xml 4114 2011-11-27 19: 03: 32z simone.tripodi $-> <proyek xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelversion>4.0.0</modelversion><parent><groupid>org.mybatis.generator</groupid> <artifactid> Mybati S-Generator </artifactId> <version> 1.3.2 </version> </tengter> <t Artifactid> mybatis-generator-core </artifactid> <packaging> jar </packaging> <name> mybatis Generator Core </name> <build> <!-Build ini membuat dan menginstal filefor JAR yang diinstrumentasi oleh proyek sistem-sehingga kami dapat mengumpulkan informasi cakupan konsolidasi-> <lugin> <!- <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><executions><execution><phase>prepare-package</phase><goals><goal>site</goal></goals></execution></execution></plugin> --><!-- <Plugin> <GroupId> org.apache.maven.plugins </groupid> <ArTifactId> maven-source-plugin </artifactid> <Execution> <Ececution> <phase> persiapan-paket </secucy> <counds> </cupin> </gol </gol> </gol </gol </fase> </gol m- <lugin> <GroupId> org.apache.maven.plugins </proupId> <ArTifactId> maven-source-plugin </artifactId> <version> 2.2.1 </version> <Executions> <Execution> <dis> di Tach-Sources </dent> <jetik> <eals> Jar </ject> </ject> <configuration> <certer> <certed> **/org/** </cert> </cert> </configuration> </execution> </plugin> -> <!-<Plugin> <Groupid> org.apache.maven.plugins </groupId> <ArTifactId> maven-javadoc-plugin </stifactid> <Execution> <Execution> <phase> Siapkan-paket </fase> <jetik> <jual> Jar </goal> </gol </execution> </fase> <jetik> <jual> Jar </goal> </gol </gol> -> <Plugin> <Groupid> org.codehaus.mojo </proupid> <ArtifactId> Cobertura-maven-plugin </artifactid> <Executions> <Execution> <dec> Cobertura-Instrument> </ID </fase> </Tujuan Pra-integrasi </fase> <tase> </sasaran </sasaran> <fase> </gol </sasaran </gol pra-integrasi </fase> <soals> </gol </lugin> <!- <lugin> <groupid> org.apache.maven.plugins </groupid> <ArTifactId> maven-jar-plugin </artifactid> <configuration> <archive> <ifan manifest> < MainClass> org.mybatis.generator.api.shellrunner </sainclass> </ifan manifest> </ archive> </configuration> <executions> <Ececution> <dent> cober Tura-Jar </dent> <phase> Integrasi-Test </phase> <jetik> <jetik> jar </ject> </ject> <configuration> <classifier> Cobertura </classifier> <classdirectory> $ {berbasis/target/classies/cobertura </classdireRdirectory> </configuration> </configuration -> <Plugin> <GroupId> org.apache.maven.plugins </groupid> <ArTifactId> maven-jar-plugin </t Artifactid> <version> 2.4 </version> <Execution> <Execution> <dent> lampiran-jar </d> <phase> <phase> Test Integrasi </fase> <pase> <obo. GOA L> jar </ject> </ject> </secution> </executions> <vonfiguration> <archive> <nan manifest> <drugsclasspath> true </drasclasspath> <slasspathpathphrefix> </classpathphrefix> <AinClass> org.mybatis.generator.unhellrrerrrrer </Maing.mybatis.generator.unapner.shellrrels CLASS> </Inmest> </archive> <certed> <certed> **/org/** </cert> </incerter> </configuration> </plugin> <lugin> <groupid> org.apache.maven.plugins </groupid> <ArTifactid> Maven-install-Plugin </artifactid> <xe Cutions> <Execution> <ding> cobertura-install </dent> <phase> integrasi-test </phase> <jetik> <jetik> Instal </ject> </ject> <configuration> <classifier> Cobertura </sclassifier> </configuration> </secution> </eksekusi> </plugin> <!-<lugin> <groupid> org.apache.maven.plugins </groupId> <ArtifactId> Maven-assembly-plugin </artifactid> <configururation> </deskriptor> <cript> $ {berbasis /src/main/assemly/srcriptor <Executions> <Ececution> <don> bundle </dent> <sect> <jetik> tunggal </ject> </ject> <phase> paket </phase> </execution> </executions> </plugin> -> <Plugin> <GroupId> org.apache.maven.plugins </groupId> <ArTifactId> maven-assembly-plugin </artifactid> <onfigururation> <appendAsembly ID> false </penspendAsemlyId> <sescriptors> <descriptor> $ {berbasis} /src/main/assembly/src.xml </sescriptor> </sescriptors> </configuration> <Eksekusi> <Ececution> <dim> Make-assembly </dent> <phase> Paket </phase> <jetik> <jetik> Single </ject> </ject> </execution> </execution> </plugin> <lugin> <Roupid> com.googlecode.maven-gcu-plugin </groupid> <ArtifAcD> TifactId> <Executions> <Execution> <phase> Menyebarkan </phase> <jetik> <jetik> Unggah </ject> </ject> <configuration> <dunggah> <pojload> <pangkangkuan> $ {Project.build.directory}/$ {Project.artifactId}-$ {Project.version} -bund $ {Project.Version} </summary> <labels> <LABEL> Fitur </label> <label> type-archive </label> <label> Produk-generator </label> <LABEL> VERSI-$ {Project.Version} </Label> </LABELS> </unggah> </unggah> </konfigurasi> </execution> </label> </unggah> </unggah> </konfigurasi> </execution> </label> </unggah> </unggah> </konfigurasi> </execution>/label >/Plugin> <lugin> <Groupid> org.apache.maven.plugins </proupid> <ArtifactId> maven-release-plugin </t Artifactid> <donfiguration> <sgricument> -prelease, gipload </argument> </configuration> </plugin> </plugin> </Bume LD> <Reporting> <Plugin> <Plugin> <GroupId> org.codehaus.mojo </groupid> <Artifactid> jdepend-maven-plugin </t Artifactid> <version> 2.0-beta-2 </version> </an plugin> <groupid> <groupid> org.codeha.moous A-MAVEN-PLUGIN </artifactid> </lugin> </lugin> </pelaporan> <dependencies> <dependency> <groupid> LOG4J </groupid> <ArtifactId> log4j </artifactid> <scope> disediakan </scope> </dependency> <dependency> <groupid> <scope> </scope UPID> <ArTifactId> semut </artifactid> <scope> disediakan </scope> </dependency> <dependency> <groupid> junit </sroupid> <t Artifactid> Junit </arttifactid> <scope> test </scope> </artrif> <Argelency> <groupid> org.hsqld </scope> </ArtIf ActId> hsqldb </artifactid> <scope> test </seupop> </gandendency> <dependency> <Groupid> org.apache.maven.plugins </sroupid> <ArtifactId> Maven-urefire-plugin </arttifactid> <scound> <cupening> </scmening> </scoFacTid> </scoFactid> </sco <rerl> https://mybatis.googlecode.com/svn/sub-projects/generator/tags/mybatis-generator-1.3.2/mybatis-generat or-core </rerl> <nection> scm: svn: https: //mybatis.googlecode.com/svn/sub-projects/generator/tags/mybatis-gen Ether-1.3.2/mybatis-generator-core </connection> <devercerconnection> scm: svn: https: //mybatis.googlecode.com/svn/sub-projects/generator/tags/mybatis-generator-1.3.2/mybatis-generator Kemudian ubah kode SRC/Main/Assembly/SRC.XML
<perakitan xmlns = "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns: xsi = "http://www.w3.org/200 1/xmlschema-instance "xsi: schemalocation =" http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"><id>Bundle</id><Format><FORMAT>ZIP</FORMAT></FORMATS><FILESETS > <spresset> <recrectory> src/main/sumber daya </direktori> <outputDirectory>/</setputDirectory> <clert> <certer> genera orconfig.xml </cert> </include> <celcudes> <Encudude> log4j.properties </nexcude> <celude> src.xml </celude> </tidak termasuk </shexputet> <sekrumet> </outpute/skrip </scripts </direktori> <Outputdirectory> <recrectory> </output ude> run.bat </include> </include> </pherpeset> <pherpheret> <recror> $ {project.build.directory} </cirectory> <selutpireCtory>/</setputDirectory> <certed> <certed> $ {project.artifactid}-$ {Project.version} Leset> <pherpresset> <Recortory> $ {Project.build.directory} </directory> <OncutDirectory>/</outputDirectory> <certed> <certed> $ {Project.artifactId}-$ {Project.Version} -sources.jar </include> </include> </include> file> </sources Selanjutnya, buat folder skrip baru di bawah src/main/, buat dokumen teks txt baru di folder skrip, dan masukkan kode berikut
java -jar mybatis -generator -1.3.2.jar -configfile generatorconfig.xml ditimpa
berhenti sebentar
Ubah nama file menjadi run.bat
Pada titik ini, pengemasan dan konfigurasi selesai.
Anda dapat mengklik kanan menjalankan As-> Maven Build di bawah proyek dan memasukkan paket di gawang. Atau masukkan direktori proyek di CMD di baris perintah dan jalankan paket MVN. Pertama kali Anda menjalankannya di sini, Anda akan menunggu lama, karena Maven akan mengunduh paket JAR dependen, harap tunggu dengan sabar.
Setelah kemasan, struktur berikut akan dihasilkan di direktori target di direktori root proyek.
Dari angka di atas kita dapat melihat bahwa paket mybatis-generator-core-1.3.2.jar telah dihasilkan. Selanjutnya kita dapat menggunakannya untuk menambahkan GeneratorConfig.xml untuk menghasilkan kode yang kita inginkan.
Jika Anda tidak memahami apa pun selama proses modifikasi kode, silakan baca lebih banyak kode sumber.
Oke, tunjukkan hasilnya
Itu saja untuk artikel ini!
Di atas adalah pengetahuan yang relevan tentang modifikasi dan pengemasan paket Jar Reverse Engineering Mybatis yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu semua orang!