JasperReport-查询数据库生成动态的报表

1、使用iReport建立模版 

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="mcOrderReport" language="groovy" pageWidth="623" pageHeight="396" orientation="Landscape" columnWidth="595" leftMargin="14" rightMargin="14" topMargin="14" bottomMargin="14" uuid="b61e5406-4ec2-4222-83bf-8cd59cfda8e8">
  3     <property name="ireport.zoom" value="3.0"/>
  4     <property name="ireport.x" value="0"/>
  5     <property name="ireport.y" value="0"/>
  6     <subDataset name="New Dataset 1" uuid="d4c4aea0-d329-4ad0-a5c1-cc228958ac9b">
  7         <parameter name="id" class="java.lang.String"/>
  8         <queryString>
  9             <![CDATA[select province as province, city as city,country as country from d_doctor where id = $P{id} or id = ${id} + 4]]>
 10         </queryString>
 11         <field name="province" class="java.lang.String"/>
 12         <field name="city" class="java.lang.String"/>
 13         <field name="country" class="java.lang.String"/>
 14     </subDataset>
 15     <parameter name="id" class="java.lang.String"/>
 16     <queryString>
 17         <![CDATA[select * from d_doctor where id = $P{id} or id = $P{id} + 4]]>
 18     </queryString>
 19     <field name="id" class="java.lang.String">
 20         <fieldDescription><![CDATA[id]]></fieldDescription>
 21     </field>
 22     <field name="province" class="java.lang.String">
 23         <fieldDescription><![CDATA[province]]></fieldDescription>
 24     </field>
 25     <field name="city" class="java.lang.String">
 26         <fieldDescription><![CDATA[city]]></fieldDescription>
 27     </field>
 28     <field name="country" class="java.lang.String">
 29         <fieldDescription><![CDATA[country]]></fieldDescription>
 30     </field>
 31     <background>
 32         <band splitType="Stretch"/>
 33     </background>
 34     <title>
 35         <band splitType="Stretch"/>
 36     </title>
 37     <pageHeader>
 38         <band height="70" splitType="Stretch">
 39             <line>
 40                 <reportElement x="2" y="56" width="570" height="1" uuid="2c31ac2f-b3ee-4a13-b817-8f59d57494b4"/>
 41             </line>
 42             <staticText>
 43                 <reportElement x="3" y="57" width="249" height="12" uuid="a302e579-9117-466f-b498-9e0637079612"/>
 44                 <textElement textAlignment="Center">
 45                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
 46                 </textElement>
 47                 <text><![CDATA[省份号]]></text>
 48             </staticText>
 49             <line>
 50                 <reportElement x="2" y="69" width="570" height="1" uuid="0bb82c6b-4cf9-4abe-95d4-d9aa08c86729"/>
 51             </line>
 52             <line>
 53                 <reportElement x="463" y="56" width="1" height="13" uuid="75ff2c78-c753-4913-b656-e807371b64ca"/>
 54             </line>
 55             <line>
 56                 <reportElement x="252" y="56" width="1" height="13" uuid="21e66f87-54b5-4f4a-ab44-d158db895c6a"/>
 57             </line>
 58             <line>
 59                 <reportElement x="2" y="57" width="1" height="12" uuid="01c3fa5e-1cb0-4df4-a4ee-d9f3d617eb1c"/>
 60             </line>
 61             <staticText>
 62                 <reportElement x="254" y="57" width="40" height="12" uuid="a859627c-6381-46f2-9868-d67b3196ab28"/>
 63                 <textElement textAlignment="Center">
 64                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
 65                 </textElement>
 66                 <text><![CDATA[城市号]]></text>
 67             </staticText>
 68             <line>
 69                 <reportElement x="296" y="56" width="1" height="13" uuid="dcd28325-01fd-495b-8d51-a12a4f25a98b"/>
 70             </line>
 71             <staticText>
 72                 <reportElement x="340" y="57" width="60" height="12" uuid="b6908079-bc51-4190-a54c-de53c8f9c27f"/>
 73                 <textElement textAlignment="Center" verticalAlignment="Top">
 74                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
 75                 </textElement>
 76                 <text><![CDATA[单价]]></text>
 77             </staticText>
 78             <line>
 79                 <reportElement x="338" y="57" width="1" height="12" uuid="b52c8f2a-54c5-4075-ad72-6714fa977e1a"/>
 80             </line>
 81             <staticText>
 82                 <reportElement x="403" y="57" width="60" height="12" uuid="d10c2fcb-3b5f-4b0b-bb80-194aa4260e46"/>
 83                 <textElement textAlignment="Center">
 84                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
 85                 </textElement>
 86                 <text><![CDATA[优惠方式]]></text>
 87             </staticText>
 88             <line>
 89                 <reportElement x="401" y="57" width="1" height="12" uuid="bd6b257f-b1c0-4ed6-a1cf-9e5c26d5c566"/>
 90             </line>
 91             <staticText>
 92                 <reportElement x="526" y="57" width="46" height="12" uuid="972638b9-6e6e-44d0-af9f-e6c446ffae2f"/>
 93                 <textElement textAlignment="Center">
 94                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
 95                 </textElement>
 96                 <text><![CDATA[备注]]></text>
 97             </staticText>
 98             <staticText>
 99                 <reportElement x="3" y="18" width="41" height="12" uuid="8b205b2f-4151-4ab4-8f8a-763f25ec80e4"/>
100                 <textElement>
101                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
102                 </textElement>
103                 <text><![CDATA[医生编号]]></text>
104             </staticText>
105             <staticText>
106                 <reportElement x="208" y="18" width="63" height="12" uuid="f024c743-13bc-4ec5-a3d1-07ac2e0b37cc"/>
107                 <textElement>
108                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
109                 </textElement>
110                 <text><![CDATA[订单金额]]></text>
111             </staticText>
112             <staticText>
113                 <reportElement x="3" y="30" width="41" height="12" uuid="5f6a1789-6546-457f-86ed-d2e8a2e13d5b"/>
114                 <textElement>
115                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
116                 </textElement>
117                 <text><![CDATA[下单时间]]></text>
118             </staticText>
119             <staticText>
120                 <reportElement x="3" y="42" width="41" height="12" uuid="0c8f51b5-7948-4990-b5e8-20e5c4a0d50b"/>
121                 <textElement>
122                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
123                 </textElement>
124                 <text><![CDATA[门店名称]]></text>
125             </staticText>
126             <textField>
127                 <reportElement x="3" y="0" width="569" height="17" uuid="92ba8587-c49b-42c2-b59c-f826c1748283"/>
128                 <textElement textAlignment="Center" markup="none">
129                     <font fontName="新宋体" size="12" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
130                 </textElement>
131             </textField>
132             <textField>
133                 <reportElement x="51" y="18" width="151" height="12" uuid="c9b3dc52-d1ff-47f9-a2e4-5ebf01d05675"/>
134                 <textElement>
135                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
136                 </textElement>
137                 <textFieldExpression><![CDATA[$P{id}]]></textFieldExpression>
138             </textField>
139             <textField>
140                 <reportElement x="273" y="18" width="125" height="12" uuid="c24f24dd-5bea-4866-8639-79f9871560a8"/>
141                 <textElement>
142                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
143                 </textElement>
144             </textField>
145             <textField>
146                 <reportElement x="51" y="30" width="151" height="12" uuid="33dd35af-3c7b-45ce-a770-7b5191eef598"/>
147                 <textElement>
148                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
149                 </textElement>
150             </textField>
151             <textField>
152                 <reportElement x="51" y="42" width="151" height="12" uuid="dc0495d6-be69-48ff-826a-4ba3cf47d037"/>
153                 <textElement>
154                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
155                 </textElement>
156             </textField>
157             <textField>
158                 <reportElement x="208" y="42" width="63" height="12" uuid="c48ffb0e-9285-499f-82ab-5aeb0d98bbf6"/>
159                 <textElement>
160                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
161                 </textElement>
162             </textField>
163             <staticText>
164                 <reportElement x="413" y="18" width="41" height="12" uuid="0abead11-fc66-46a9-826b-6e59629d35d7"/>
165                 <textElement>
166                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
167                 </textElement>
168                 <text><![CDATA[支付方式]]></text>
169             </staticText>
170             <textField>
171                 <reportElement x="456" y="18" width="116" height="12" uuid="e9b0d297-f8a6-437d-9091-968d7f22a62d"/>
172                 <textElement>
173                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
174                 </textElement>
175                 <textFieldExpression><![CDATA[]]></textFieldExpression>
176             </textField>
177             <staticText>
178                 <reportElement x="208" y="30" width="63" height="12" uuid="85d7941f-0194-4737-9638-d88d059d0904"/>
179                 <textElement>
180                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
181                 </textElement>
182                 <text><![CDATA[送货员工]]></text>
183             </staticText>
184             <textField>
185                 <reportElement x="273" y="30" width="125" height="12" uuid="811eb5e5-582c-4e3a-bf26-723a67770669"/>
186                 <textElement>
187                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
188                 </textElement>
189             </textField>
190             <staticText>
191                 <reportElement x="297" y="57" width="40" height="12" uuid="d5bac62f-958e-4142-b4ae-9475f7cbf6d0"/>
192                 <textElement textAlignment="Center">
193                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
194                 </textElement>
195                 <text><![CDATA[县镇号]]></text>
196             </staticText>
197             <line>
198                 <reportElement x="572" y="56" width="1" height="14" uuid="eeb1072f-a162-4906-a943-41eef70d307b"/>
199             </line>
200             <textField>
201                 <reportElement x="271" y="42" width="301" height="12" uuid="7a13580f-791a-470b-a5e6-3f0b5bab9e04"/>
202                 <textElement>
203                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
204                 </textElement>
205             </textField>
206             <line>
207                 <reportElement x="525" y="57" width="1" height="12" uuid="8f2c02b6-d3ab-4ae5-8b2e-f0d2b11b4243"/>
208             </line>
209             <staticText>
210                 <reportElement x="465" y="57" width="60" height="12" uuid="141e20d9-4803-4afa-a1eb-45bec248fe50"/>
211                 <textElement textAlignment="Center">
212                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
213                 </textElement>
214                 <text><![CDATA[小计]]></text>
215             </staticText>
216         </band>
217     </pageHeader>
218     <detail>
219         <band height="13" splitType="Stretch">
220             <line>
221                 <reportElement x="2" y="-1" width="1" height="13" uuid="acf19d0f-20e1-4193-adec-2df290300480"/>
222             </line>
223             <textField>
224                 <reportElement x="254" y="0" width="40" height="12" uuid="4409e74b-a023-455c-95c5-883103050a1c"/>
225                 <textElement textAlignment="Center">
226                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
227                 </textElement>
228                 <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
229             </textField>
230             <textField>
231                 <reportElement x="297" y="0" width="40" height="12" uuid="edd7680d-fdbe-4e92-b6f4-c238a2b4c739"/>
232                 <textElement textAlignment="Center">
233                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
234                 </textElement>
235                 <textFieldExpression><![CDATA[$F{country}]]></textFieldExpression>
236             </textField>
237             <textField>
238                 <reportElement x="340" y="0" width="60" height="12" uuid="61ad7ab8-62a0-43cb-8135-54ade9f98e93"/>
239                 <textElement textAlignment="Center">
240                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
241                 </textElement>
242             </textField>
243             <line>
244                 <reportElement x="338" y="0" width="1" height="12" uuid="f0d7806d-4302-4c41-aa31-1a31cdd25365"/>
245             </line>
246             <textField>
247                 <reportElement x="403" y="0" width="60" height="12" uuid="8895c53f-742c-45d4-ab43-ec08daf00d4f"/>
248                 <textElement textAlignment="Center">
249                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
250                 </textElement>
251                 <textFieldExpression><![CDATA[]]></textFieldExpression>
252             </textField>
253             <line>
254                 <reportElement x="401" y="0" width="1" height="12" uuid="9efa8bc0-851f-4374-a68b-f5c13fea0595"/>
255             </line>
256             <textField>
257                 <reportElement x="465" y="0" width="60" height="12" uuid="2ee6ccc9-0954-40ba-9843-0847832180d0"/>
258                 <textElement textAlignment="Center">
259                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
260                 </textElement>
261                 <textFieldExpression><![CDATA[]]></textFieldExpression>
262             </textField>
263             <line>
264                 <reportElement x="2" y="12" width="571" height="1" uuid="5930b04c-3f37-4225-ad65-6b5291bb9ffa"/>
265             </line>
266             <textField>
267                 <reportElement x="6" y="0" width="15" height="12" uuid="28829cd2-12fb-4472-b351-a33a7ce41dce"/>
268                 <textElement>
269                     <font fontName="新宋体" size="8"/>
270                 </textElement>
271             </textField>
272             <line>
273                 <reportElement x="572" y="0" width="1" height="12" uuid="9b737c67-28cf-4cae-9424-b744a7cecacd"/>
274             </line>
275             <textField>
276                 <reportElement x="21" y="0" width="231" height="12" uuid="992e0d0c-75a1-43b3-949f-16d03cdcdf71"/>
277                 <textElement>
278                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
279                 </textElement>
280                 <textFieldExpression><![CDATA[$F{province}]]></textFieldExpression>
281             </textField>
282             <line>
283                 <reportElement x="252" y="0" width="1" height="12" uuid="0327fe36-18b9-4018-bf8a-39a87aa68abc"/>
284             </line>
285             <line>
286                 <reportElement x="296" y="0" width="1" height="12" uuid="12556171-4ec5-4d5c-a773-7605d6809253"/>
287             </line>
288             <line>
289                 <reportElement x="525" y="0" width="1" height="12" uuid="7625677e-4f2c-4629-8fcb-5c9bf5348c76"/>
290             </line>
291             <line>
292                 <reportElement x="463" y="0" width="1" height="12" uuid="6439e322-33b4-46e8-9fc1-1fd80d068c42"/>
293             </line>
294         </band>
295     </detail>
296     <pageFooter>
297         <band/>
298     </pageFooter>
299     <summary>
300         <band height="15">
301             <line>
302                 <reportElement x="2" y="13" width="571" height="1" uuid="de33dda4-b0e9-4fc1-a5ac-35c6cb31d2a9"/>
303             </line>
304             <staticText>
305                 <reportElement x="6" y="1" width="24" height="12" uuid="1ba3c283-f943-49b5-b50a-c474e8c74e3b"/>
306                 <textElement>
307                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
308                 </textElement>
309                 <text><![CDATA[合计:]]></text>
310             </staticText>
311             <staticText>
312                 <reportElement x="214" y="1" width="57" height="12" uuid="b81742a8-df49-4b2d-aaef-c52c12ba29c3"/>
313                 <textElement>
314                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
315                 </textElement>
316                 <text><![CDATA[ 减免金额合计:]]></text>
317             </staticText>
318             <staticText>
319                 <reportElement x="331" y="1" width="58" height="12" uuid="cf8d16f8-35da-4226-b123-7cd40b0357b8"/>
320                 <textElement>
321                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
322                 </textElement>
323                 <text><![CDATA[实际金额合计:]]></text>
324             </staticText>
325             <textField>
326                 <reportElement x="33" y="1" width="175" height="12" uuid="4774c656-fefe-4f46-b003-1764227080de"/>
327                 <textElement>
328                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
329                 </textElement>
330             </textField>
331             <textField>
332                 <reportElement x="271" y="1" width="60" height="12" uuid="43a013d2-b695-4489-8b03-3e56e8d2d405"/>
333                 <textElement>
334                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
335                 </textElement>
336             </textField>
337             <textField>
338                 <reportElement x="390" y="1" width="74" height="12" uuid="1c4b9418-0769-4eb5-8d4a-14c941580d4c"/>
339                 <textElement>
340                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
341                 </textElement>
342                 <textFieldExpression><![CDATA[]]></textFieldExpression>
343             </textField>
344             <staticText>
345                 <reportElement x="465" y="1" width="36" height="12" uuid="9259c923-872d-4277-891c-0139b6d3b056"/>
346                 <textElement>
347                     <font fontName="新宋体" size="8" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
348                 </textElement>
349                 <text><![CDATA[客户签名:]]></text>
350             </staticText>
351             <line>
352                 <reportElement x="2" y="-1" width="1" height="14" uuid="9287bb3c-6fc9-403f-ba48-17d07708ad8e"/>
353             </line>
354             <line>
355                 <reportElement x="2" y="0" width="570" height="1" uuid="a8ee48a3-5a8e-4605-a0d6-e1b15f483d8e"/>
356             </line>
357             <line>
358                 <reportElement x="572" y="0" width="1" height="13" uuid="fb41ac72-a0ce-4a49-9df7-9570d4a9bb72"/>
359             </line>
360         </band>
361     </summary>
362 </jasperReport>


2.直接在iReport中把上面的JRXML文件编译成JASPER文件,方便在WEB里面的调用;

 


3、函数中调用 ,即可输出符合条件的报表

 1 package com.thinkgem.jeesite.test;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileOutputStream;
 5 import java.sql.DriverManager;
 6 import java.util.HashMap;
 7 import java.util.Map;
 8 
 9 import com.mysql.jdbc.Connection;
10 
11 import net.sf.jasperreports.engine.JasperPrint;
12 import net.sf.jasperreports.engine.JasperReport;
13 import net.sf.jasperreports.engine.JasperRunManager;
14 
15 //@RunWith(SpringJUnit4ClassRunner.class) // 表示继承了SpringJUnit4ClassRunner类
16 //@ContextConfiguration(locations = { "classpath:spring-mybatis.xml" })
17 public class Test
18 {
19     public static void main(String[] args)
20     {
21         JasperReport jasperReport;
22         JasperPrint jasperPrint;
23         System.out.println("1111");
24         // jasperReport =
25         // JasperCompileManager.compileReport("mcOrderReport.jrxml");
26         System.out.println("2222");
27         // jasperReport.setProperty("billAmount", "102");
28         // JRBeanCollectionDataSource dataSource = new
29         // JRBeanCollectionDataSource();
30         Map map = new HashMap();
31         map.put("id", 102);// 报表主参数,直接传值!
32 
33         // jasperPrint = JasperFillManager.fillReport(jasperReport, map, new
34         // JREmptyDataSource());
35         // JasperExportManager.exportReportToPdfFile(jasperPrint,
36         // "forms/1.pdf");
37         // JasperExportManager.exportReportToHtmlFile(jasperPrint,
38         // "forms/1.html");
39 
40         Connection connection = null;
41         try
42         {
43             // 获得输出流
44             FileOutputStream outputStream = new FileOutputStream("forms/2.pdf");
45             // 获得输入流,一定要知道你的文件的地方
46             FileInputStream is = new FileInputStream("mcOrderReport.jasper");
47             // 连结JDBC
48             Class.forName("com.mysql.jdbc.Driver");
49             connection = (Connection) DriverManager.getConnection(
50                     "jdbc:mysql://123.207.229.247:3306/palm_doctor?useUnicode=true&characterEncoding=utf-8", "root",
51                     "root");// 建立数据库连接
52             JasperRunManager.runReportToPdfStream(is, outputStream, map, connection);
53 
54             outputStream.flush();
55             outputStream.close();
56             connection.close();
57         } catch (Exception e)
58         {
59             e.printStackTrace();
60         }
61     }
62 }
原文地址:https://www.cnblogs.com/baorantHome/p/8418556.html