需求:从mysql数据库中读取一个知识记录,从记录表中的字段值中获取一个文件路径,读取xml文件,xml文件中可能包含多个文档内容。建立索引。

xml文件样例:

<?xml version="1.0" encoding="utf-8"?>
<docs>
<data>
<id>1</id>
<title>测试数据</title>
<content>测试内容</content>
<crtime>2014-10-13 16:10:33</crtime>
<templateid>201</templateid>
<price>12.11</price>
</data>
<data>
<id>2</id>
<title>测试数据1</title>
<content>测试内容1</content>
<crtime>2014-10-12 16:10:33</crtime>
<templateid>202</templateid>
<price>20.11</price>
</data>
</docs>

mysql数据格式样例:

CREATE TABLE `gx_kmsindex` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`docid` BIGINT(20) COMMENT '知识ID',
`path` VARCHAR(200) DEFAULT NULL COMMENT '知识xml文件路径',
`templateid` VARCHAR(20) NOT NULL COMMENT '知识模板id',
`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`type` VARCHAR(20) NOT NULL COMMENT '知识操作类型,add/update/delete',
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

当为新增、更新知识时,docid可以为空,当为删除知识时,docid为必填项。

aaarticlea/png;base64,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" alt="" />

处理方案:

1、schema.xml中配置field:

<field name="id" type="string" indexed="true" stored="true"  required="true"/>
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="title" type="text_ik" indexed="true" stored="true" termVectors="true"/>
<field name="content" type="text_ik" indexed="true" stored="true" termVectors="true"/> <field name="crtime" type="date" indexed="true" stored="true" />
<field name="templateid" type="string" indexed="true" stored="true" />
<field name="price" type="double" indexed="true" stored="true" />

2、solrconfig.xml中配置handler:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">mysql-data-config.xml</str>
</lst>
</requestHandler>

3、配置mysql-data-config.xml

<dataConfig>
<dataSource name="jdbc" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
batchSize="-1" url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8"
user="root" password="root" />
<dataSource name="file" type="FileDataSource" encoding="utf-8" />
<document>
<entity name="kms" dataSource="jdbc"
query="SELECT path FROM gx_kmsindex ORDER BY TIME ASC" transformer="DateFormatTransformer">
<entity dataSource="file" name="xml" url="${kms.path}"
processor="XPathEntityProcessor" forEach="/docs/data/" transformer="DateFormatTransformer">
<field column="id" xpath="/docs/data/id" />
<field column="title" xpath="/docs/data/title" />
<field column="content" xpath="/docs/data/content" />
<field column="crtime" xpath="/docs/data/crtime"
dateTimeFormat="yyyy-MM-dd HH:mm:ss" />
<field column="templateid" xpath="/docs/data/templateid" />
<field column="price" xpath="/docs/data/price" />
</entity>
</entity>
</document>
</dataConfig>

4、在后台建立索引,发现只抽取了一条数据记录。

aaarticlea/png;base64,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" alt="" />

按照道理,应该两条数据都能抽取。经过排查,是rootEntity属性的问题。在kms实体中,没有设置rootEntity属性,默认为true的。这样就把gx_kmsindex当作了根实体,

rootEntity="true" 表示它的文档会被Solr索引。如果rootEntity属性被显式地设置为false,那么DIH会反向查找,直到找到一个实体配置没有设置为false的。可以有子实体(sub-entities),它通常为每个父文档执行一次,并通常由父文档引用来缩小查找范围。子实体的文档会合并到根实体的文档中,如果多个子实体对相同的域产生了多个文档,那么根实体会产生一个多值域。

这里kms实体的rootEntity属性应该设置为“false”。xml实体才是用于索引的数据实体。所以xml实体rootEntity属性为true。这里采用默认属性值即可。修改后的mysql-data-config.xml:

<dataConfig>
<dataSource name="jdbc" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" batchSize="-1"
url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8" user="root" password="root"/>
<dataSource name="file" type="FileDataSource" encoding="utf-8" />
<document>
<entity name="kms" dataSource="jdbc" query="SELECT path FROM gx_kmsindex ORDER BY TIME ASC"
transformer="DateFormatTransformer" rootEntity="false">
<entity dataSource="file" name="xml" url="${kms.path}" processor="XPathEntityProcessor"
forEach="/docs/data/" transformer="DateFormatTransformer" >
<field column="id" xpath="/docs/data/id" />
<field column="title" xpath="/docs/data/title" />
<field column="content" xpath="/docs/data/content" />
<field column="crtime" xpath="/docs/data/crtime" dateTimeFormat="yyyy-MM-dd HH:mm:ss"/>
<field column="templateid" xpath="/docs/data/templateid" />
<field column="price" xpath="/docs/data/price" />
</entity>
</entity>
</document>
</dataConfig>

5、修改后,重新建立索引:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAAFuCAIAAACTITOtAAAWsUlEQVR4nO2d0XHjIBgG6YiK1ItfeUoHKcFDB2mCcTvcAzZGAiQko5N+a3dubmwCEk6yAWTxWXkAEIU6ugMAsA6kBRAG0gIIY5W0dlDaODuowe7Vn+1nsYNSSimljdurZwBnYIW0zmhtnDN6ItMwPHXp0qHaWRaxBlvhErSbZo1x3pmhpIbWupO0c2dpaAnw/fQZHvtJW8QZrRYny0gLF+Ej04wxKiEvNMaEQmttXpjW1Fp/0hOPtHAZtkvrnIuyxZE2FA7D4F9rXedcsWZ4HApDzQ9fCdLCRdiuShg8w7AZVQyDp7U2rZDWTAkyB5z71DikhYvw6UgbBtU4PQ5+piOttTYdaUOFoOjE+Q+9RVq4CD3XtMHV4po2LQzV/MvVhjUtF6IA3nzPHVHcXAEX4XukBbgISAsgDKQFEAbSAggDaQGEgbQAwkBaAGEgLYAwkBZAGEgLIIx9pHVGczshwD7sIu2muBgAaGInac2ecY0AlwZpAYTRX9qQgdr9sAAQYKQFEAbSAggDaQGEwVs+AMLg5goAYXAbI4AwkBZAGEgLIAykBRAG0gIIA2kBhIG0AMJAWgBhIC2AMA6R1g5KG2eHxY+v7NbWDjdtHna4zbRqqQNwPAdIGzbcOqNTOcIH2MaPro2ET6YOn1hda7t8xrvWd+fuevhLi625u6U6AKfj/0trjXGrthSEz57e1vbZ6u78wwyJovZXqZvS75JCHYBzImBNm0hbpOlz4gv8DRpFQSCnkDZoqZQyxsTCMGGO9D8r0oJMTiGt995am0rrnFNKaa398ki7FaQFmZxU2vQp0gKknFTaMNKGi8lMjwFSTiFtXNPGKbHP1rT5u0EvtlyICleP1U2pn8qVaMI34KycQtqTYg3SwglB2jLO6C1vIwHsD9ICCANpAYSBtADCQFoAYSAtgDCQFkAYSAsgDKQ9DHVT8f9VX601WVsHhCIubua/0SHXJoqX/otV4+O1Ztbqz/8r9hAkcpa4mbPRK9emKGptFJ2RbdHG4p+AvJBUnS9AQNxMCyFKql/zbrk2viTq/MQ4bVV8WnvsS5aOK5Cq8w18ycrnw+17bc035trMSzsZiietik9npM3PCN/HKX6uYTPtJHEm3ZoXCmMyY7qJL22b7uDLj7mqeRcWdU2r+WQO7JeG0Np6OJ+No+73cfxPtJgsk26CD7I553wyJE7iLPJ0i9g8yL+2eS8mEs5LWysslucHmbkQjbrfxPE/y0lmRSCYZq2dVIgqzls3GT/joRqb96WjtLVrWmlh/boxfAnH/0TTkTbI5pwLD9KRtsW60MqPB+qUxuZ96TvSFg8+Uw1pv49T/ETT5Ws0bWZNG+NpYuX4peKaNqi4qnmJLReiahLWvlScThebF8tXS0uqjkBOIe23Ult/5l8tXkkuvg1bO0XaZN30mFQdaSDt7tRmv4tC+qWBOndy7UhLqo5EkBZAGEgLIAykBRAG0gIIA2kBhIG0AMJAWgBhIG1n5rfFzd9lUWvIrYiQcshvw4FxM+cKkZm5IbnYqn63EyEyF+IAaduTXMLtx4t7XOO9xJOtQp+cetRqtxCZtHn+OC+sNSRE5lL8f2nLSS7teTHFmsX9fY2nXu7wPiEyRZPbnybyEyJzLc6yWIp7cbbVbJO2yJEhMpOaiyNqy+3K8PUc/7OvBb7kk96ZaJhc2mKETRcWdU2r+fGd/bU17aTVjLTrdvDAN3KWn3oxO6I4fjbWVKW4mV5MJJyXtrFwZo6dO4+uV+YsP/u+0tbiZjryubTFkvwgk3GYkRbO8lMvBr7MSDtfsxY305EuI22uX8v0OC+HS3GWn3oe+BLXtOqVINVSM5qcx81UOEWIzLyKtZlzVVpCZL6as0griLWjYj48zj+tHTM92vL0mBCZ7wVpN1Kb/bZcK2q5aDyzrC32IYUQme8GaQGEgbQAwkBaAGEgLYAwkBZAGEgLIAykBRAG0gII4xBpxcXNAJyIA6TdlvkSacyg6X7qdNuCM14pr5RXS73Id/J23dsLV+T/S7st8+XIU9vBK+V1lM15/XLVaF872LRVqQRgA6xp23b52LG02rtn46q001a1EoCVHC9t3GqX7sILhVrr+NWwV7YYvFhMlukcN1ORbWGSjrSwA8dL6/0zq805F9arIWUiWjcJnSjudw+qp6EWqm/cTEk2o/3CAI20sANnkTZYlwpZC1gsJstMqvWPm8lkG9TsxLjSCmnhc84lbT7SLkqbjrThS865/nEzY9neY6zzljUt/F/OIm0kmDZZ6MaaxQyaoHra3HeNmwlXfZXyKlx/sq+nyqsw3jqvlZ8cY9oqLyEUBjZxFmnTFKgLQSgMrOd4afOgtotAKAxs43hpAWAVSAsgDKQFEAbSAggDaQGEgbQAwkBaAGEgLYAwkBZAGFfLiPpvbHuNdrhp87DD7cPvTK/jwBmRlxHVSHG7/OfUEqrizZjh6bbX6O5a35276+HvXfL81Lzf14H+BnVT6qbNI21qzd3NHAe+ibNkRIVf+s5nqmzuy+ly9mQL/rYwKmvuzj/MEPV7GP101ZmfYGkYQsOD5x8E+6vUTem3tNlx4Ls4y5p2aQPdFtql7XL2NDejxPqPnH8Y/fP03t0H8/D+b4hDrv1NBtu/QaPoZThe2snG1+KG2ElAVJpHUYyYSo+QSptWTvMxWs7uK1PudDdv97878aUMv9a/5r2haDT7Rdorcby0gXyYUlnIUxBp8r+vREz5SsZFeDrRu+XsM8fME6q64szPc4BGWvCnlbYY8mSt1VrH/1Np84ip/Kkfj4oz0s5ETM2cYh9p4yLWe8/0GLw/m7TBAf8awSYXaRelnR9pw1dnRtr5sxePmdbcYXr8HmP9w9rR9afx2zlIeyXOIm2eX5GHPOVr2iBeWhKbTyr7l2DFyi1n9w0JVTXVvfdbLkQ9391Ro/d4srd8wtVjdVPqp3K1mjCq7+Is0n6CumzEVDuEUX0R4qW9bMRUO4RRfRnipQW4GkgLIAykBRAG0gIIA2kBhIG0AMJAWgBhIC2AMIib8UdHw8Barv6d/5K4mVoKzH796RUN8yz6VfE4FcatykdeaBXvUn6ea3Rvc9qB8bkeRt8m4Rh9ejjtT6HEmZ9pDwnTOUvcTDu9g2mOjYbx3nv/N+ifuV/BPFAmP/Jyq3dvn63s3bj3vtynctm5XjuNkhiNPj3M+lMsMX/Pyq9vL2E6Ate0O+yAy/mf0TDO3O3yuJG2qh15vpX37vFS4vf90gqnTluV9XDmJ5lQtPZw2irvT7GHyy/zYpxC2jzbJQynWuu4H8AYU4uGyVNgisE0xRPt8WpWRcMEw2OF9z67yYw0aZUfuaXVs3O/So2HvgVp/wZ9N8Nk2l9ktoc18v7kJckwC96fQdpaYksULG5qDxQDIoqBEsVgmmKITMdXsy4a5jWOrRpp25WobI4fTVnnpXV3rZK5feO5VvQw609ewjA74Xhpa5mJtfJGafOMi5kQmV4vZXU0zMPZePnq1qrE5ulx5DmBfz5eHGnfj/v3MOvPtCQ5FASOlzYdaYNXYQCclzZGwwRapJ0JkenyOj6Jhlm3pq0deb7V+7c/XiqrnHo8F9Dvkbb9D0RDD/P+FHqYdDVelLo8x0vrx4ktQapJMGpaOd/1nqfA1IJpiiEyJf5rNEx8r2j4Kx+70GrNGyqvVu+3T94naunh66WNLymPlrhtPZy0yvuTlYy+qxd9VzbnFNICQDtICyAMpAUQBtICCANpAYSBtADCQFoAYSAtgDCQFkAYSAsgjK7Srr/5DwDW0v9DkPl4NoBdQVoAYfSXdmB+DLAn/S9EhXDD7ocFgAAjLYAwWNMCCANpAYTRW9pJ6rczWrHCBehJ95srMkUZegG6su9tjM5o7pAC6Av3HgMIA2kBhIG0AMJAWgBhIC2AMJAWQBhICyAMpAUQxj7ScvciwG7sIu3kBmQA6MhO0hruXQTYCaQFEAZxMwDCYKQFEAbSAggDaQGEwVs+AMLg5goAYXAbI4AwkBZAGEgLIAykBRAG0gIIA2kBhIG0AMJAWgBhIC2AMA6R1g5KG2eHLZ/zs62tHW7aPOxwm2nVUgfgeA6QNmy4dUanchhjlFLDMEwqD8OglFJKzbRdPuNd67tzdz38vUvUTambUr+2VgfgnPx/aa0xbtWWAq31S9rVbZ+t7s4/zHB/tXoY/XTVmR9tHqU6AGdFwJo2kbaIM1qtmyw/jP55eu/ug3l81j+A/8sppA1aKqWMMbEwTJgj+5zZDr8sYEEYp5DWe2+tTaV1zimltNZ+eaTdjDM/XHMCeZxU2vTpPtKGa8W9jwqwPyeVNoy04WLyDtPjZIx9WIu6IIpTSBvXtHFK7LM1bf5u0Iv1F6L+huf7PTelauMt4RtwVk4h7UmxBmnhhCBtGWf0lvu1APYHaQGEgbQAwkBaAGEgLYAwkBZAGEgLIAykBRAG0gIIA2kPQ91U/H/VV2tN1tYBoYjLiPpvdAijiuKl/2LV+HitmbX68/8a+wzn5ywZUWejVxhVUdTaKDoj26KNxT8Blb8L1iSpOoRjiUNARlQLIf+tX/NOYVTe+5Ko8xPjtFXxae2xL1k6qWB/lbop/e4h4Vjy+JKVz4d7btuar98DGA4+K21t7rpN2vyMBf4GjaKSOYW0YQf8JCYq3U8bCmOcarrzNm2bbrvNj7mqeRcWdU2r+WQO7JeG0NpAms/GC+oirXCOl7YYB5UmVwTZnHM+GRInGTR5JE1sHuRf27wXEwnnpa0VFsvzg8xciB59CWmFc7y0k6CZQDDNWjupEFWct24yfsZDNTbvS0dpa9e00sLl68ZIK5zjpU1H2iCbcy48SEfaFutCKz8eqFMam/el70hbPPhMNaT9Po6X1o+Xr9G0mTVtzJSKleOXimvaoOKq5iW2XIiqSVj7UnE6XWxeLF+UNlw9VjelfipXxgnHOj2nkPZbqa0/868WryQX34atnSJtsjA9XoRwrHODtLtTm/0uCumXBurcyabp8SyEY50fpAUQBtICCANpAYSBtADCQFoAYSAtgDCQFkAYSNuZ+W1x83dZ1BpuuUECvpdDfhsOjJs5V4jMzA3JxVZr7nYiROZrOUDa9iSXcPvx4h7XeC/xZKvQJ6cetdotRCZtnj/OC2fvfyJE5ir8f2nLSS7teTHFmsX9fY2nXu7wPiEyRZPbn6byEyJzKc6yWIp7cbbVbJO2yJEhMpOaiyPq3NybDXeX4Xhpa4Ev+aR3Jhoml7YYYdOFRV3Tan58Z39tTTtpNSNtdZqNtJfheGkDxeyI4vjZWFOV4mZ6MZFwXtrGwpk5du48I+2V+U5pa3EzHflc2mJJfpDJOMxIC+eSdhL4MiPtfM1a3ExHuoy0uX4t0+O83HukvRBnkTYPfIlrWvVKkGqpGU3O42YqnCJEpqpiUpL7PLl6rG6EyFyCs0griLWjYj48zj+tHTM9WmF6vAghMt8C0m6kNvudu1Y0rj8/K55Z1hb7MA8hMt8E0gIIA2kBhIG0AMJAWgBhIC2AMJAWQBhICyAMpAUQxiHSioubATgRB0i7LfMl0phB0/HUznilvFJexXPaZ8nijYH5Tt6ue3vhivx/abdlvhx3auf1y1Wjn5YO6v2gpr8dvFJem7kSgA2wpl3a5eO81t49q3rjvLfvIdcOs4OtzRTNSwBWcry0catdugsvFGqt41fDXtli8GIxWWaPuJkwJXfmLZ4zfm6mjbSwA8dL6/0zq805F9arIWUiWjcJnSjudw+qp6EWqnfcjNHPmTDSwrGcRdpgXSpkLWCxmCwzqdY9bmZIrzkxPYZDOZe0+Ui7KG060oYvOef6xs3EMdY7b8fXn2YuRHmPtLALZ5E2EkybLHRjzWIGTVA9be47xs283t0ZvcczecvHea2m8+RwrVgpr17XsaYlRMDAJs4ibZoCdSGIgIH1HC9tHtR2EYiAgW0cLy0ArAJpAYSBtADCQFoAYSAtgDCQFkAYSAsgDKQFEMbV4mb+G9teox1u2jzscPvwO9PrOHBG5MXNNFLcefs5tbCbeF9XeLox1+au9d25ux7+3iXPD+D6fR3ob1A3pW7aPKp18uPAN3GWuJnwS9/5TJV9Qjldzp7s5t0WqWPN3fmHGeJnQz+M/n3t4f0JloYhNDwYbKXO9DjwXZxlTbu0F2cL7dJ2OXu6Bb/E+k+vfhj9+pBodx/Mw/u/IQ6n9lebR6kOfDvHSzvZQ1fcWzfJmkm3thfTatIjpNKmldOt9i1n95Upd7oxsPvfnfhShl/rX/PeUJTNfp914Os5XtpAPkypLC8miDT531fSanxlu3x4OtG75ewzx8zDbrrizM9zgK5L+64DX89JpS3mxVhrtdbx/1TaPK0mf+rHo+KMtDNpNTOn2EfauIj13pemx3kd+HbOJW1wwL9GsMlF2kVp50fa8NWZkXb+7MVjpjV3mB4n4+fD2vT60/tBXge+nLNIm2+Fz/Ni8jVtEC8tic0nlf1LsGLllrP7hrCbmure+y0Xop7v7qjRezyTt3yKdQpnJtfmeziLtJ+gLptW0w65Nl+EeGkvm1bTDrk2X4Z4aQGuBtICCANpAYSBtADCQFoAYSAtgDCQFkAYSAsgDOJm/NHRMLCWq3/nvyRuppYCs19/tkXDeO+fyRJj7K+Kx6kwblU+8kKraQ9H9y2nHRif62H0Tamb0gtRGKt7aH+np85KnPmZ9pAwnbPEzbTTO5jmP0bDvH4pp7/9f4P+mfsVzFoVjrzcKuuhvRv33pf7VC4712sXURKR0aeH7+/eOzonLzF/k84TpiNwTbvDDricfaJhAn/DWFpn7nZ53Ehb1Y4836oSTFM49bhVSQ9nfpIJRWsPp63c46VojKTLSppe5sU4hbR5tksYTrXWcT+AMaYWDZOnwBSDaYon2uPVLETDjKUN/sQKcX6oJjPSpFV+5JZWeQ8Lfctb/Q36bobJtL/IbA9r2F+lxkNxXpIMs+D9GaStJbZEweKm9kAxIKIYKFEMpimGyHR8NcvRMKVxbNVI265ESdppMM28tO6uVTK3bzzXih56X5pCj0oYZiccL20tM7FW3ihtnnExEyLT66U0RMNMpHU2Xhy6tSqxcXqc99B73zTSvh/37+GzD9McyXdJcigIHC9tOtIGr8IAOC9tjIYJtEg7EyLT5XU0RMN478tT1nVr2tqRF1qVg2kW17T6PdK2/4Fo6OHbxtelu7zk/SC5KHV5jpfWjxNbglSTYNS0cr7rPU+BqQXTFENkSuwTDZMuWZMrsfGdmOGvfOxCqzVvqDxbbe7hq+HY/9ESt62Hk1bvt3NeLzwrGfX5ou/K5pxCWgBoB2kBhIG0AMJAWgBhIC2AMJAWQBhICyAMpAUQBtICCANpAYSBtADC6Crt+jt2AWAt/T+5nM9UBNgVpAUQRn9pB+bHAHvS/0JUSCTtflgACDDSAgiDNS2AMJAWQBi9pf3gowMAoIXuN1dwEQpgX7iNEUAYSAsgDKQFEAbSAggDaQGEgbQAwkBaAGEgLYAwkBZAGM3SOvP89Eg28QAcytqR1hmDtABHgrQAwkBaAGEgLYAwkBZAGEgLIAykBRAG0gIIg5srAITBbYwAwkBaAGEgLYAwkBZAGEgLIAykBRAG0gIIA2kBhIG0AMJQ3j/vduJOJwARxJGWz5UFkAHSAgjjLe3A/BhAAu8LUc5oPhAa4Pww0gIIgzUtgDCQFkAYL2mdGZAWQALx5gouQgHIgNsYAYSBtADCQFoAYSAtgDCQFkAYSAsgjH8nq+4Uf+687QAAAABJRU5ErkJggg==" alt="" />

DIH中添加不同的数据源的更多相关文章

  1. [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

  2. DataGridView 中添加CheckBox和常用处理方式 .

    DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...

  3. 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数

    开篇语 在这篇日志中 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 我介绍到了包级别的日志管理框架,那么这个主要是针对包这一个层级的 Log 信息,包括包开始执行和结束时间,以 ...

  4. extjs在窗体中添加搜索框

    在extjs中添加搜索框,搜索框代码如下: this.searchField = new Ext.ux.form.SearchField({            store : this.store ...

  5. 关于32位程序在Win7&64位系统中连接Microsoft Excel数据源的问题

    最近在新公司电脑上跑以前的selenium测试框架的时候,抛出了如下的错误 出现的是ODBC Driver问题:[Microsoft][ODBC Driver Manager] Data source ...

  6. 怎样在UICollectionView中添加Header和footer

    ---恢复内容开始--- 怎样在UICollectionView中添加Header和footer 转载于http://my.oschina.net/zboy/blog/221525 摘要 来自-htt ...

  7. 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】

    Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing vi ...

  8. spring 中连接多个数据源

    http://www.ityouknow.com/springboot/2016/08/20/springboot(%E4%BA%94)-spring-data-jpa%E7%9A%84%E4%BD% ...

  9. Asp.net MVC]Asp.net MVC5系列——在模型中添加

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

随机推荐

  1. 自己制作 SPx N合1 自动安装盘(x86)

    来处"xinso" 一.制作方法: 以技嘉和惠普为例作,其它的可以如法泡制及变通: 1.复制一份最常用的 OEM XP,例如技嘉,到D:\1TO2 2.在 D:\ 创造一个 HP ...

  2. Maven Archetype Plugin

    使用Archetype的一般步骤 命令——mvn archetype:generate 输入命令后,Archetype插件会输出一个Archetype列表供用户选择:选择自己想要使用的Archetyp ...

  3. ucenter同步登陆机制

    有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能. 首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/clien ...

  4. My集合框架第六弹 左式堆

    左式堆(Leftist Heaps)又称作最左堆.左倾堆.左式堆作为堆的一种,保留了堆的一些属性. 第1,左式堆仍然以二叉树的形式构建: 第2,左式堆的任意结点的值比其子树任意结点值均小(最小堆的特性 ...

  5. 利用 Heritrix 构建特定站点爬虫

    http://www.ibm.com/developerworks/cn/opensource/os-cn-heritrix/

  6. Label & TextBlock

    I always thought it was odd that WPF has both TextBlock and Label.  They both are responsible for di ...

  7. win10的安装、win10启动盘制作

    需要的材料 win10映像 U盘 UltraISO软件 1.下载对应的win10映像 有64位和32位可选(自己找地方下) 2.下载UltraISO软件 3.准备一只U盘,插入电脑 4.启动Ultra ...

  8. table布局 height=100%无效分析

    (从死了一次又一次终于挂掉的百度空间中抢救出来的,发表日期 2014-08-11) 原文链接:http://www.cnblogs.com/gaojun/archive/2012/05/07/2487 ...

  9. java静态代理与动态代理简单分析

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5860749.html 1.动态代理(Dynamic Proxy) 代理分为静态代理和动态代理 ...

  10. Cross-Browser HTML5 Placeholder Text

    One of the nice enhancement in HTML5 web form is being able to add placeholder text to input fields. ...