-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
文章生成器源代碼(文章生成器源代碼怎么用)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于文章生成器源代碼的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
本文目錄:
ProxyGenerator 屬于哪個jar包
在MBG中,最主要也最重要的就是XML配置文件,因此本篇文章主要的內(nèi)容就是XML配置。這里按照配置的順序對配置逐個講解,更細的內(nèi)容可以配合中文文檔參照。
1. 配置文件頭
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
使用最新版的MBG需要使用上面的xml頭,配置文件必須包含上面的DOCTYPE。
2. 根節(jié)點
generatorConfiguration節(jié)點沒有任何屬性,直接寫節(jié)點即可,如下:
3. 子元素
從這段開始,就是配置的主要內(nèi)容,這些配置都是generatorConfiguration元素的子元素。
包含以下子元素(有嚴格的順序):
(0個或1個)
(0個或多個)
(1個或多個)
3.1 元素
這個元素用來指定外部的屬性元素,不是必須的元素。
元素用于指定一個需要在配置中解析使用的外部屬性文件,引入屬性文件后,可以在配置中使用 ${property}這種形式的引用,通過這種方式引用屬性文件中的屬性值。 對于后面需要配置的**jdbc信息**和targetProject屬性會很有用。
這個屬性可以通過resource或者url來指定屬性文件的位置,這兩個屬性只能使用其中一個來指定,同時出現(xiàn)會報錯。
resource:指定**classpath**下的屬性文件,使用類似com/myproject/generatorConfig.properties這樣的屬性值。
url:可以指定文件系統(tǒng)上的特定位置,例如file:///C:/myfolder/generatorConfig.properties
3.2 元素
這個元素可以0或多個,不受限制。
這個元素的作用是將MBG運行時需要用到的jar包(或zip格式)添加到**classpath**下。
最常見的用法是,當**classpath**下面**沒有**JDBC驅動的時候,我們通常通過這個屬性指定驅動的路徑,例如:
如果需要用到其他的jar包,也可以這么配置,例如如果你開發(fā)了一個MBG的插件,你就可以通過這種方式加入到**classpath**
這里注意上面重點強調的 沒有,一般在項目中使用的時候,**classpath**下面都有JDBC驅動,因此從項目中啟動的時候不需要配置該項。
建議:由于該參數(shù)使用了絕對路徑,因此不利用在不同電腦上通用,因此建議最好把需要的jar包放到項目的**classpath**下,避免每個人都得單獨配置路徑。
3.3 元素
在MBG的配置中,至少需要有一個元素。
元素用于指定生成一組對象的環(huán)境。例如指定要連接的數(shù)據(jù)庫,要生成對象的類型和要處理的數(shù)據(jù)庫中的表。運行MBG的時候還可以指定要運行的。
該元素只有一個**必選屬性**id,用來唯一確定一個元素,該id屬性可以在運行MBG的使用。
此外還有幾個**可選屬性**:
defaultModelType:**這個屬性很重要**,這個屬性定義了MBG如何生成**實體類**。
這個屬性有以下可選值:
conditional:*這是默認值*,這個模型和下面的hierarchical類似,除了如果那個單獨的類將只包含一個字段,將不會生成一個單獨的類。 因此,如果一個表的主鍵只有一個字段,那么不會為該字段生成單獨的實體類,會將該字段合并到基本實體類中。
flat:該模型為每一張表只生成一個實體類。這個實體類包含表中的所有字段。**這種模型最簡單,推薦使用。**
hierarchical:如果表有主鍵,那么該模型會產(chǎn)生一個單獨的主鍵實體類,如果表還有BLOB字段, 則會為表生成一個包含所有BLOB字段的單獨的實體類,然后為所有其他的字段生成一個單獨的實體類。 MBG會在所有生成的實體類之間維護一個繼承關系。
targetRuntime:此屬性用于指定生成的代碼的運行時環(huán)境。該屬性支持以下可選值:
MyBatis3:*這是默認值*
MyBatis3Simple
Ibatis2Java2
Ibatis2Java5 一般情況下使用默認值即可,有關這些值的具體作用以及區(qū)別請查看中文文檔的詳細內(nèi)容。
introspectedColumnImpl:該參數(shù)可以指定擴展org.mybatis.generator.api.IntrospectedColumn該類的實現(xiàn)類。該屬性的作用可以查看擴展MyBatis Generator。
一般情況下,我們使用如下的配置即可:
如果你希望不生成和Example查詢有關的內(nèi)容,那么可以按照如下進行配置:
使用MyBatis3Simple可以避免在后面的中逐個進行配置(后面會提到)。
MBG配置中的其他幾個元素,基本上都是的子元素,這些子元素(有嚴格的配置順序)包括:
(0個或多個)
(0個或多個)
(0個或1個)
(1個)
(0個或1個)
(1個)
(0個或1個)
(0個或1個)
(1個或多個)
其中屬性比較特殊,后面講解的時候都會和父元素一起進行講解。在講解屬性前,我們先看看**什么是分隔符?**。
這里通過一個例子說明。假設在Mysql數(shù)據(jù)庫中有一個表名為user info,你沒有看錯,中間是一個空格,這種情況下如果寫出select * from user info這樣的語句,肯定是要報錯的,在Mysql中的時候我們一般會寫成如下的樣子:
select * from `user info`
這里的使用的**反單引號(`)**就是**分隔符**,**分隔符**可以用于**表名**或者**列名**。
下面繼續(xù)看支持的屬性:
autoDelimitKeywords
beginningDelimiter
endingDelimiter
javaFileEncoding
javaFormatter
xmlFormatter
由于這些屬性比較重要,這里一一講解。
首先是autoDelimitKeywords,當表名或者字段名為SQL關鍵字的時候,可以設置該屬性為true,MBG會自動給表名或字段名添加**分隔符**。
然后這里繼續(xù)上面的例子來講beginningDelimiter和endingDelimiter屬性。
由于beginningDelimiter和endingDelimiter的默認值為雙引號("),在Mysql中不能這么寫,所以還要將這兩個默認值改為**反單引號(`)**,配置如下:
屬性javaFileEncoding設置要使用的Java文件的編碼,默認使用當前平臺的編碼,只有當生產(chǎn)的編碼需要特殊指定時才需要使用,一般用不到。
最后兩個javaFormatter和xmlFormatter屬性**可能會**很有用,如果你想使用模板來定制生成的java文件和xml文件的樣式,你可以通過指定這兩個屬性的值來實現(xiàn)。
接下來分節(jié)對其他的子元素逐個進行介紹。
3.3.1 元素
該元素可以配置0個或者多個,不受限制。
元素用來定義一個插件。插件用于擴展或修改通過MyBatis Generator (MBG)代碼生成器生成的代碼。
插件將按在配置中配置的順序執(zhí)行。
有關插件的詳細信息可以參考開發(fā)插件和提供的插件了解更多。
3.3.2 元素
該元素最多可以配置1個。
這個元素非常有用,相信很多人都有過這樣的需求,就是希望MBG生成的代碼中可以包含**注釋信息**,具體就是生成表或字段的備注信息。
使用這個元素就能很簡單的實現(xiàn)我們想要的功能。這里先介紹該元素,介紹完后會舉例如何擴展實現(xiàn)該功能。
該元素有一個可選屬性type,可以指定用戶的實現(xiàn)類,該類需要實現(xiàn)org.mybatis.generator.api.CommentGenerator接口。而且必有一個默認的構造方法。這個屬性接收默認的特殊值DEFAULT,會使用默認的實現(xiàn)類org.mybatis.generator.internal.DefaultCommentGenerator。
默認的實現(xiàn)類中提供了兩個可選屬性,需要通過屬性進行配置。
suppressAllComments:**阻止**生成注釋,默認為false
suppressDate:**阻止**生成的注釋包含時間戳,默認為false
一般情況下由于MBG生成的注釋信息沒有任何價值,而且有時間戳的情況下每次生成的注釋都不一樣,使用**版本控制**的時候每次都會提交,因而一般情況下我們都會屏蔽注釋信息,可以如下配置:
接下來我們簡單舉例實現(xiàn)生成包含表字段注釋信息的注釋
因為系統(tǒng)提供了一個默認的實現(xiàn)類,所以對我們來說,自己實現(xiàn)一個會很容易,最簡單的方法就是復制默認實現(xiàn)類代碼到一個新的文件中,修改類名如MyCommentGenerator,在你自己的實現(xiàn)類中,你可以選擇是否繼續(xù)支持上面的兩個屬性,你還可以增加對其他屬性的支持。
我們通過下面一個方法的修改來了解,其他幾個方法請自行修改(寫本章的時候我也沒有完全實現(xiàn)該類,所以不提供完整源碼了):
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if (introspectedColumn.getRemarks() != null && !introspectedColumn.getRemarks().equals("")) {
field.addJavaDocLine("/**");
field.addJavaDocLine(" * " + introspectedColumn.getRemarks());
addJavadocTag(field, false);
field.addJavaDocLine(" */");
}
}
這個方法是給字段添加注釋信息的,其中IntrospectedColumn包含了字段的完整信息,通過getRemarks方法可以獲取字段的注釋信息。上面這個方法修改起來還是很容易的。除了字段的注釋外還有Getter和Setter,以及類的注釋。此外還有生成XML的注釋,大家可以根據(jù)默認的實現(xiàn)進行修改。
完成我們自己的實現(xiàn)類后,我們還需要做如下配置:
3.3.3 元素
用于指定數(shù)據(jù)庫連接信息,該元素必選,并且只能有一個。
配置該元素只需要注意如果JDBC驅動不在**classpath**下,就需要通過元素引入jar包,這里**推薦**將jar包放到**classpath**下。
該元素有兩個必選屬性:
driverClass:訪問數(shù)據(jù)庫的JDBC驅動程序的完全限定類名
connectionURL:訪問數(shù)據(jù)庫的JDBC連接URL
該元素還有兩個可選屬性:
userId:訪問數(shù)據(jù)庫的用戶ID
password:訪問數(shù)據(jù)庫的密碼
此外該元素還可以接受多個子元素,這里配置的屬性都會添加到JDBC驅動的屬性中。
這個元素配置起來最容易,這里舉個簡單例子:
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="">
3.3.4 元素
該元素最多可以配置一個。
這個元素的配置用來指定JDBC類型和Java類型如何轉換。
該元素提供了一個可選的屬性type,和比較類型,提供了默認的實現(xiàn)DEFAULT,一般情況下使用默認即可,需要特殊處理的情況可以通過其他元素配置來解決,不建議修改該屬性。
該屬性還有一個可以配置的元素。
可以配置的屬性為forceBigDecimals,該屬性可以控制是否強制DECIMAL和NUMERIC類型的字段轉換為Java類型的java.math.BigDecimal,默認值為false,一般不需要配置。
默認情況下的轉換規(guī)則為:
如果精度>0或者長度>18,就會使用java.math.BigDecimal
如果精度=0并且10<=長度<=18,就會使用java.lang.Long
如果精度=0并且5<=長度<=9,就會使用java.lang.Integer
如果精度=0并且長度<5,就會使用java.lang.Short
如果設置為true,那么一定會使用java.math.BigDecimal,配置示例如下:
3.3.5 元素
該元素必須配置一個,并且最多一個。
該元素用來控制生成的實體類,根據(jù)中配置的defaultModelType,一個表可能會對應生成多個不同的實體類。一個表對應多個類實際上并不方便,所以前面也推薦使用flat,這種情況下一個表對應一個實體類。
該元素只有兩個屬性,都是必選的。
軟件專業(yè)論文開題報告怎樣寫?
代碼可以選擇在附錄中展示一部分,也可以不在論文中展示代碼
先使用文本介紹程序實現(xiàn)的思路,然后將代碼帖到論文中。如果代碼太長,那么無疑是不適合直接復制粘貼的,你可以選擇使用偽碼來描述一下你程序的實現(xiàn)過程,中間不重要的代碼可以使用省略號略去,只寫關鍵邏輯的處理即可。貼代碼圖片是不可取的,因為圖片可能會存在縮放問題,導致字體模糊不清。同時,排版、字體格式,都有可能會收到影響。不知道你的導師和審稿人會怎么看,但是我的論文是因為幾個字母格式不對都被打回來改。而且一般不建議貼源代碼,源代碼一般需要關聯(lián)的信息太多,篇幅大,直接貼說不明白。如果有貼代碼的必要,可以寫偽代碼,抽象點。
畢業(yè)論文格式包括:
題目,摘要,關鍵詞,目錄,正文,致謝,參考文獻,注釋,附錄
軟件相關專業(yè)根據(jù)其專業(yè)的特殊性,與一般論文有所不同
智媒ai偽原創(chuàng)文章生成器軟件怎么用?
這個工具經(jīng)別人介紹我用了一段時間了,跟網(wǎng)上朋友反應的一致,偽原創(chuàng)文章很不錯的,處理的文章質量很高,文章通順,不用再次修改。使用的方法也特別簡單,如果是單篇偽原創(chuàng)文章的話就只需要你把準備好的文章放進去然后點擊一鍵轉換就可以了,如果使用批量偽原創(chuàng)文章就需要把你準備的文章存放在一個文件夾里,然后選擇好源文章路徑和偽原創(chuàng)后的文章路徑,點擊批量轉換即可,詳細發(fā)個圖你看吧
以上就是關于文章生成器源代碼相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀: