生成 資料庫設計文件
阿新 • • 發佈:2019-02-01
最近要寫一個數據庫設計文件
資料設計文件中資料庫結構設計這個模組是需要把資料庫的所有欄位,標識,註釋等的設計寫出來,如果手寫會瘋的,現在自己來寫個生成工具生成,只要連線資料庫就ok。
一、在用idea建立maven專案,在pom裡面新增下面的jar(dbcp可以不要,當前專案用不到):
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.9-rc</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>
二、建立包
三、資料庫連線工具
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DbConn { //連結資料庫 public Connection getCon(){ Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"; String user = "root"; String pwd ="root"; conn=DriverManager.getConnection(url, user, pwd); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } //關閉資料庫 public void closeConn(){ Connection con = getCon(); try { if(!con.isClosed()){ con.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args){ DbConn db = new DbConn(); db.getCon(); db.closeConn(); } }
四、建立實體類
public class TableInfo { private String sort;//序號 private String tableName;//表名 private String tableComment;//表註釋 private String columnName;//欄位名 private String columnComment;//欄位註釋 private String isNullable;//是否可以為空 private String columnType;//欄位型別 private String columnKey;//主鍵 get;set; }
五、用到的sql語句
可以自己先試試。
select table_name, TABLE_COMMENT from information_schema.tables where table_schema='test' and table_type='base table';
select * from information_schema.columns
where table_schema = 'test'
and table_name = 'jc_model' ;
select ORDINAL_POSITION sort, TABLE_NAME, COLUMN_NAME, IS_NULLABLE, COLUMN_TYPE, COLUMN_KEY , COLUMN_COMMENT from information_schema.columns
where table_schema = 'test'
and table_name = 'jc_model' ;
六、Freemaker工具類
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Map;
public class FtUtil {
/**
* 獲取模板
*
* @param templatesDir 例如"/templates"
* @return
*/
public Template getTemplate(String templatesDir, String name) {
try {
//通過Freemaker的Configuration讀取相應的ftl
Configuration cfg = new Configuration();
//設定去哪裡讀取相應的ftl模板檔案
cfg.setClassForTemplateLoading(this.getClass(), templatesDir);
//在模板檔案目錄中找到名稱為name的檔案
Template temp = cfg.getTemplate(name);
return temp;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* Description: 根據模版生成檔案 <br/>
*/
public void generateFile(String templatesDir, String templateName, Map root, String outDir, String outFileName) {
FileWriter out = null;
try {
//通過一個檔案輸出流,就可以寫到相應的檔案中
out = new FileWriter(new File(outDir, outFileName));
Template temp = this.getTemplate(templatesDir, templateName);
temp.process(root, out);
} catch (IOException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
} finally {
try {
if (out != null) out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
七、把word.doc檔案轉為word.xml放在resources下面(有時間可以研究一下,會發現word其實是xml檔案。)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<pkg:package xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage">
<pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml"
pkg:padding="512">
<pkg:xmlData>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
Target="docProps/app.xml"/>
<Relationship Id="rId2"
Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
Target="docProps/core.xml"/>
<Relationship Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
Target="word/document.xml"/>
</Relationships>
</pkg:xmlData>
</pkg:part>
<pkg:part pkg:name="/word/_rels/document.xml.rels"
pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="256">
<pkg:xmlData>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings"
Target="webSettings.xml"/>
<Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
Target="theme/theme1.xml"/>
<Relationship Id="rId2"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings"
Target="settings.xml"/>
<Relationship Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
Target="styles.xml"/>
<Relationship Id="rId6"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable"
Target="fontTable.xml"/>
<Relationship Id="rId5"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes"
Target="endnotes.xml"/>
<Relationship Id="rId4"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes"
Target="footnotes.xml"/>
</Relationships>
</pkg:xmlData>
</pkg:part>
<pkg:part pkg:name="/word/document.xml"
pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml">
<pkg:xmlData>
<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
mc:Ignorable="w14 w15 w16se w16cid wp14">
<w:body>
<#list tableList as l>
<w:p w:rsidR="00B42230" w:rsidRDefault="00873DD2" w:rsidP="00EA45C0">
<w:pPr>
<w:pStyle w:val="4"/>
<w:ind w:firstLine="562"/>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t>表:</w:t>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:r w:rsidR="001E0CCF">
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t>${l.tableName}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
<w:tbl>
<w:tblPr>
<w:tblW w:w="0" w:type="auto"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" w:space="0" w:color="auto"/>
</w:tblBorders>
<w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1" w:lastColumn="0"
w:noHBand="0" w:noVBand="1"/>
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="897"/>
<w:gridCol w:w="1905"/>
<w:gridCol w:w="1984"/>
<w:gridCol w:w="1559"/>
<w:gridCol w:w="1134"/>
<w:gridCol w:w="1043"/>
</w:tblGrid>
<w:tr w:rsidR="00EA45C0" w:rsidTr="005E3562">
<w:tc>
<w:tcPr>
<w:tcW w:w="897" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>表名</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="7625" w:type="dxa"/>
<w:gridSpan w:val="5"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${l.tableName}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
</w:tr>
<w:tr w:rsidR="00EA45C0" w:rsidTr="005E3562">
<w:tc>
<w:tcPr>
<w:tcW w:w="897" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>表註釋</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="7625" w:type="dxa"/>
<w:gridSpan w:val="5"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRDefault="00EA45C0" w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${l.tableComment}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
</w:tr>
<w:tr w:rsidR="00EA45C0" w:rsidTr="005E3562">
<w:tc>
<w:tcPr>
<w:tcW w:w="897" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>序號</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1905" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>欄位名</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1984" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>註釋</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1559" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>欄位型別</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1134" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>強制</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1043" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:r w:rsidRPr="00210B85">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>主鍵</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
<#list l.table as t>
<w:tr w:rsidR="00EA45C0" w:rsidTr="005E3562">
<w:tc>
<w:tcPr>
<w:tcW w:w="897" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${t.sort}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1905" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${t.columnName}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1984" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${t.columnComment}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1559" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${t.columnType}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1134" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${t.isNullable}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1043" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00210B85" w:rsidRDefault="00EA45C0"
w:rsidP="005E3562">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="宋體" w:hAnsi="Calibri"
w:hint="eastAsia"/>
</w:rPr>
<w:t>${t.columnKey}</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
</w:tc>
</w:tr>
</#list>
</w:tbl>
</#list>
<w:p w:rsidR="00EA45C0" w:rsidRPr="00EA45C0" w:rsidRDefault="00EA45C0" w:rsidP="00EA45C0">
<w:pPr>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
</w:pPr>
<w:bookmarkStart w:id="0" w:name="_GoBack"/>
<w:bookmarkEnd w:id="0"/>
</w:p>
<w:sectPr w:rsidR="00EA45C0" w:rsidRPr="00EA45C0">
<w:pgSz w:w="11906" w:h="16838"/>
<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992"
w:gutter="0"/>
<w:cols w:space="425"/>
<w:docGrid w:type="lines" w:linePitch="312"/>
</w:sectPr>
</w:body>
</w:document>
</pkg:xmlData>
</pkg:part>
<pkg:part pkg:name="/word/footnotes.xml"
pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml">
<pkg:xmlData>
<w:footnotes xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
mc:Ignorable="w14 w15 w16se w16cid wp14">
<w:footnote w:type="separator" w:id="-1">
<w:p w:rsidR="00A47B64" w:rsidRDefault="00A47B64" w:rsidP="000942D1">
<w:r>
<w:separator/>
</w:r>
</w:p>
</w:footnote>
<w:footnote w:type="continuationSeparator" w:id="0">
<w:p w:rsidR="00A47B64" w:rsidRDefault="00A47B64" w:rsidP="000942D1">
<w:r>
<w:continuationSeparator/>
</w:r>
</w:p>
</w:footnote>
</w:footnotes>
</pkg:xmlData>
</pkg:part>
<pkg:part pkg:name="/word/endnotes.xml"
pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml">
<pkg:xmlData>
<w:endnotes xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
mc:Ignorable="w14 w15 w16se w16cid wp14">
<w:endnote w:type="separator" w:id="-1">
<w:p w:rsidR="00A47B64" w:rsidRDefault="00A47B64" w:rsidP="000942D1">
<w:r>
<w:separator/>
</w:r>
</w:p>
</w:endnote>
<w:endnote w:type="continuationSeparator" w:id="0">
<w:p w:rsidR="00A47B64" w:rsidRDefault="00A47B64" w:rsidP="000942D1">
<w:r>
<w:continuationSeparator/>
</w:r>
</w:p>
</w:endnote>
</w:endnotes>
</pkg:xmlData>
</pkg:part>
<pkg:part pkg:name="/word/theme/theme1.xml"
pkg:contentType="application/vnd.openxmlformats-officedocument.theme+xml">
<pkg:xmlData>
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office 主題">
<a:themeElements>
<a:clrScheme name="Office">
<a:dk1>
<a:sysClr val="windowText" lastClr="000000"/>
</a:dk1>
<a:lt1>
<a:sysClr val="window" lastClr="FFFFFF"/>
</a:lt1>
<a:dk2>
<a:srgbClr val="44546A"/>
</a:dk2>
<a:lt2>
<a:srgbClr val="E7E6E6"/>
</a:lt2>
<a:accent1>
<a:srgbClr val="4472C4"/>
</a:accent1>
<a:accent2>
<a:srgbClr val="ED7D31"/>
</a:accent2>
<a:accent3>
<a:srgbClr val="A5A5A5"/>
</a:accent3>
<a:accent4>
<a:srgbClr val="FFC000"/>
</a:accent4>
<a:accent5>
<a:srgbClr val="5B9BD5"/>
</a:accent5>
<a:accent6>
<a:srgbClr val="70AD47"/>
</a:accent6>
<a:hlink>
<a:srgbClr val="0563C1"/>
</a:hlink>
<a:folHlink>
<a:srgbClr val="954F72"/>
</a:folHlink>
</a:clrScheme>
<a:fontScheme name="Office">
<a:majorFont>
<a:latin typeface="等線 Light" panose="020F0302020204030204"/>
<a:ea typeface=""/>
<a:cs typeface=""/>
<a:font script="Jpan" typeface="遊ゴシック Light"/>
<a:font script="Hang" typeface="맑은 고딕"/>
<a:font script="Hans" typeface="等線 Light"/>
<a:font script="Hant" typeface="新細明體"/>
<a:font script="Arab" typeface="Times New Roman"/>
<a:font script="Hebr" typeface="Times New Roman"/>
<a:font script="Thai" typeface="Angsana New"/>
<a:font script="Ethi" typeface="Nyala"/>
<a:font script="Beng" typeface="Vrinda"/>
<a:font script="Gujr" typeface="Shruti"/>
<a:font script="Khmr" typeface="MoolBoran"/>
<a:font script="Knda" typeface="Tunga"/>
<a:font script="Guru" typeface="Raavi"/>
<a:font script="Cans" typeface="Euphemia"/>
<a:font script="Cher" typeface="Plantagenet Cherokee"/>
<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
<a:font script="Tibt" typeface="Microsoft Himalaya"/>
<a:font script="Thaa" typeface="MV Boli"/>
<a:font script="Deva" typeface="Mangal"/>
<a:font script="Telu" typeface="Gautami"/>
<a:font script="Taml" typeface="Latha"/>
<a:font script="Syrc" typeface="Estrangelo Edessa"/>
<a:font script="Orya" typeface="Kalinga"/>
<a:font script="Mlym" typeface="Kartika"/>
<a:font script="Laoo" typeface="DokChampa"/>
<a:font script="Sinh" typeface="Iskoola Pota"/>
<a:font script="Mong" typeface="Mongolian Baiti"/>
<a:font script="Viet" typeface="Times New Roman"/>
<a:font script="Uigh" typeface="Microsoft Uighur"/>
<a:font script="Geor" typeface="Sylfaen"/>
<a:font script="Armn" typeface="Arial"/>
<a:font script="Bugi" typeface="Leelawadee UI"/>
<a:font script="Bopo" typeface="Microsoft JhengHei"/>
<a:font script="Java" typeface="Javanese Text"/>
<a:font script="Lisu" typeface="Segoe UI"/>
<a:font script="Mymr" typeface="Myanmar Text"/>
<a:font script="Nkoo" typeface="Ebrima"/>
<a:font script="Olck" typeface="Nirmala UI"/>
<a:font script="Osma" typeface="Ebrima"/>
<a:font script="Phag" typeface="Phagspa"/>
<a:font script="Syrn" typeface="Estrangelo Edessa"/>
<a:font script="Syrj" typeface="Estrangelo Edessa"/>
<a:font script="Syre" typeface="Estrangelo Edessa"/>
<a:font script="Sora" typeface="Nirmala UI"/>
<a:font script="Tale" typeface="Microsoft Tai Le"/>
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
<a:font script="Tfng" typeface="Ebrima"/>
</a:majorFont>
<a:minorFont>
<a:latin typeface="等線" panose="020F0502020204030204"/>
<a:ea typeface=""/>
<a:cs typeface=""/>
<a:font script="Jpan" typeface="遊明朝"/>
<a:font script="Hang" typeface="맑은 고딕"/>
<a:font script="Hans" typeface="等線"/>
<a:font script="Hant" typeface="新細明體"/>
<a:font script="Arab" typeface="Arial"/>
<a:font script="Hebr" typeface="Arial"/>
<a:font script="Thai" typeface="Cordia New"/>
<a:font script="Ethi" typeface="Nyala"/>
<a:font script="Beng" typeface="Vrinda"/>
<a:font script="Gujr" typeface="Shruti"/>
<a:font script="Khmr" typeface="DaunPenh"/>
<a:font script="Knda" typeface="Tunga"/>
<a:font script="Guru" typeface="Raavi"/>
<a:font script="Cans" typeface="Euphemia"/>
<a:font script="Cher" typeface="Plantagenet Cherokee"/>
<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
<a:font script="Tibt" typeface="Microsoft Himalaya"/>
<a:font script="Thaa" typeface="MV Boli"/>
<a:font script="Deva" typeface="Mangal"/>
<a:font script="Telu" typeface="Gautami"/>
<a:font script="Taml" typeface="Latha"/>
<a:font script="Syrc" typeface="Estrangelo Edessa"/>
<a:font script="Orya" typeface="Kalinga"/>
<a:font script="Mlym" typeface="Kartika"/>
<a:font script="Laoo" typeface="DokChampa"/>
<a:font script="Sinh" typeface="Iskoola Pota"/>
<a:font script="Mong" typeface="Mongolian Baiti"/>
<a:font script="Viet" typeface="Arial"/>
<a:font script="Uigh" typeface="Microsoft Uighur"/>
<a:font script="Geor" typeface="Sylfaen"/>
<a:font script="Armn" typeface="Arial"/>
<a:font script="Bugi" typeface="Leelawadee UI"/>
<a:font script="Bopo" typeface="Microsoft JhengHei"/>
<a:font script="Java" typeface="Javanese Text"/>
<a:font script="Lisu" typeface="Segoe UI"/>
<a:font script="Mymr" typeface="Myanmar Text"/>
<a:font script="Nkoo" typeface="Ebrima"/>
<a:font script="Olck" typeface="Nirmala UI"/>
<a:font script="Osma" typeface="Ebrima"/>
<a:font script="Phag" typeface="Phagspa"/>
<a:font script="Syrn" typeface="Estrangelo Edessa"/>
<a:font script="Syrj" typeface="Estrangelo Edessa"/>
<a:font script="Syre" typeface="Estrangelo Edessa"/>
<a:font script="Sora" typeface="Nirmala UI"/>
<a:font script="Tale" typeface="Microsoft Tai Le"/>
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
<a:font script="Tfng" typeface="Ebrima"/>
</a:minorFont>
</a:fontScheme>
<a:fmtScheme name="Office">
<a:fillStyleLst>
<a:solidFill>
<a:schemeClr val="phClr"/>
</a:solidFill>
<a:gradFill rotWithShape="1">
<a:gsLst>
<a:gs pos="0">
<a:schemeClr val="phClr">
<a:lumMod val="110000"/>
<a:satMod val="105000"/>
<a:tint val="67000"/>
</a:schemeClr>
</a:gs>
<a:gs pos="50000">
<a:schemeClr val="phClr">
<a:lumMod val="105000"/>
<a:satMod val="103000"/>
<a:tint val="73000"/>
</a:schemeClr>
</a:gs>
<a:gs pos="100000">
<a:schemeClr val="phClr">
<a:lumMod val="105000"/>
<a:satMod val="109000"/>
<a:tint val="81000"/>
</a:schemeClr>
</a:gs>
</a:gsLst>
<a:lin ang="5400000" scaled="0"/>
</a:gradFill>
<a:gradFill rotWithShape="1">
<a:gsLst>
<a:gs pos="0">
<a:schemeClr val="phClr">
<a:satMod val="103000"/>
<a:lumMod val="102000"/>
<a:tint val="94000"/>
</a:schemeClr>
</a:gs>
<a:gs pos="50000">
<a:schemeClr val="phClr">
<a:satMod val="110000"/>
<a:lumMod val="100000"/>
<a:shade val="100000"/>
</a:schemeClr>
</a:gs>
<a:gs pos="100000">
<a:schemeClr val="phClr">
<a:lumMod val="99000"/>
<a:satMod val="120000"/>
<a:shade val="78000"/>
</a:schemeClr>
</a:gs>
</a:gsLst>
<a:lin ang="5400000" scaled="0"/>
</a:gradFill>
</a:fillStyleLst>
<a:lnStyleLst>
<a:ln w="6350" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="phClr"/>
</a:solidFill>
<a:prstDash val="solid"/>
<a:miter lim="800000"/>
</a:ln>
<a:ln w="12700" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="phClr"/>
</a:solidFill>
<a:prstDash val="solid"/>
<a:miter lim="800000"/>
</a:ln>
<a:ln w="19050" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="phClr"/>
</a:solidFill>
<a:prstDash val="solid"/>
<a:miter lim="800000"/>
</a:ln>
</a:lnStyleLst>
<a:effectStyleLst>
<a:effectStyle>
<a:effectLst/>
</a:effectStyle>
<a:effectStyle>
<a:effectLst/>
</a:effectStyle>
<a:effectStyle>
<a:effectLst>
<a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0">
<a:srgbClr val="000000">
<a:alpha val="63000"/>
</a:srgbClr>
</a:outerShdw>
</a:effectLst>
</a:effectStyle>
</a:effectStyleLst>
<a:bgFillStyleLst>
<a:solidFill>
<a:schemeClr val="phClr"/>
</a:solidFill>
<a:solidFill>
<a:schemeClr val="phClr">
<a:tint val="95000"/>
<a:satMod val="170000"/>
</a:schemeClr>
</a:solidFill>
<a:gradFill rotWithShape="1">
<a:gsLst>
<a:gs pos="0">
<a:schemeClr val="phClr">
<a:tint val="93000"/>
<a:satMod val="150000"/>
<a:shade val="98000"/>
<a:lumMod val="102000"/>
</a:schemeClr>
</a:gs>
<a:gs pos="50000">
<a:schemeClr val="phClr">