详解Ibatis写CLOB数据
Ibatis是一个高效,方便,易于学习的数据访问组件,在性能上比hibernate高,学习难度也比hibernate和jdo要低,而且它比直接使用jdbc方便和易于维护。所以Ibatis深入大家的喜爱,一些对性能有更高的要求的系统(如保险,金融行业系统),或改造遗留系统时,Ibatis是数据访问组件的首选。
在使用Oracle数据库时,读取CLOB和BLOB等大类型的数据一直是个比较犯难的事,一般都是通过JDBC代码来实现对CLOB和BLOB数据的读写,效果和性能都是最好的,但是代码也相当复杂,且代码难以重用。
公司的项目正好有这方面的需要,要求我给予解决。在网上找了一些方法,好多不能满足需求,而且都是转载,于是看了下ibatis包,发现ibatis里面已经封装了类,只要直接使用即可。
有两种方式实现:
1.通过配置ParameterMap和ResultMap来实现对LOB类型的读写
1.1 java代码
假设java类中有个字符串属性
- private String detail; // 详细描述
1.2 sqlmap配置
- <parameterMap class="Description" id="DescriptionParam">
- <parameter property="detail" javaType="java.lang.String" jdbcType="NCLOB" typeHandler="com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback"/>
- <parameter property="id" javaType="java.lang.Long"/>
- parameterMap>
注意:因为使用了ParameterMap作为输入参数,在插入语句中用?号来代替属性值(如:#detail#)
新增数据时配置
- <insert id="addDescription" parameterClass="Description" >
- </span> <LI class=alt><SPAN><SPAN class=cdata> insert into description </SPAN> </SPAN><LI><SPAN><SPAN class=cdata> (id, </SPAN> </SPAN><LI class=alt><SPAN><SPAN class=cdata> detail) </SPAN> </SPAN><LI><SPAN><SPAN class=cdata> values(#?#,#?#) </SPAN> </SPAN><LI class=alt><SPAN><SPAN class=cdata> ]]></SPAN><SPAN> </SPAN></SPAN><LI><SPAN> </SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>selectKey</SPAN><SPAN> </SPAN><SPAN class=attribute>resultClass</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"java.lang.Long"</SPAN><SPAN> </SPAN><SPAN class=attribute>keyProperty</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"id"</SPAN><SPAN> </SPAN><SPAN class=attribute>type</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"pre"</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> select SEQ_description_ID.NEXTVAL from DUAL </SPAN><LI><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>selectKey</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>insert</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN></LI></OL></PRE> <P> </P> <P> </P> <P> </P> <P>更新数据时配置</P> <P><UPDATE id=updateDescription parameterclass="Description"></UPDATE></P> <P> </P><PRE><OL class=dp-xml><LI class=alt><SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>update</SPAN><SPAN> </SPAN><SPAN class=attribute>id</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"updateDescription"</SPAN><SPAN> </SPAN><SPAN class=attribute>parameterClass</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"Description"</SPAN><SPAN> </SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN></SPAN><LI><SPAN> update description set </SPAN><SPAN class=attribute>tab_detail</SPAN><SPAN> = #?# where </SPAN><SPAN class=attribute>id</SPAN><SPAN>=#?# </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>update</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN></LI></OL></PRE> <P> </P> <P>2. 通过parameterClass传入参数(推荐)</P> <P>2.1 java代码</P> <P>假设java类中有个字符串属性</P> <P> </P><PRE><OL class=dp-j><LI class=alt><SPAN><SPAN class=keyword>private</SPAN><SPAN> String detail; </SPAN><SPAN class=comment>// 详细描述</SPAN><SPAN> </SPAN></SPAN></LI></OL></PRE> <P>2.2 sqlmap配置</P> <P>新增数据时配置</P> <P><INSERT id=addDescription parameterclass="Description"></INSERT></P> <P><!--DATA[<--></P> <P> </P><PRE><OL class=dp-xml><LI class=alt><SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>insert</SPAN><SPAN> </SPAN><SPAN class=attribute>id</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"addDescription"</SPAN><SPAN> </SPAN><SPAN class=attribute>parameterClass</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"Description"</SPAN><SPAN> </SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN></SPAN><LI><SPAN> </SPAN><SPAN class=cdata><![CDATA[ </span> <LI class=alt><SPAN><SPAN class=cdata> insert into description (id, detail) </SPAN> </SPAN><LI><SPAN><SPAN class=cdata> values (#id#, #tabDetail,handler=com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback#) </SPAN> </SPAN><LI class=alt><SPAN><SPAN class=cdata> ]]></SPAN><SPAN> </SPAN></SPAN><LI><SPAN> </SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>selectKey</SPAN><SPAN> </SPAN><SPAN class=attribute>resultClass</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"java.lang.Long"</SPAN><SPAN> </SPAN><SPAN class=attribute>keyProperty</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"id"</SPAN><SPAN> </SPAN><SPAN class=attribute>type</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"pre"</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> select SEQ_description_ID.NEXTVAL from DUAL </SPAN><LI><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>selectKey</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>insert</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN></LI></OL></PRE> <P> </P> <P> </P> <P> </P> <P>更新数据时配置</P> <P><UPDATE id=updateDescription parameterclass="Description"></UPDATE></P> <P> </P><PRE><OL class=dp-xml><LI class=alt><SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>update</SPAN><SPAN> </SPAN><SPAN class=attribute>id</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"updateDescription"</SPAN><SPAN> </SPAN><SPAN class=attribute>parameterClass</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"Description"</SPAN><SPAN> </SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN></SPAN><LI><SPAN> update description </SPAN><LI class=alt><SPAN> </SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>dynamic</SPAN><SPAN> </SPAN><SPAN class=attribute>prepend</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"set"</SPAN><SPAN> </SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI><SPAN> </SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>isNotNull</SPAN><SPAN> </SPAN><SPAN class=attribute>prepend</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>","</SPAN><SPAN> </SPAN><SPAN class=attribute>property</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>"detail"</SPAN><SPAN> </SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN><SPAN class=attribute>tab_detail</SPAN><SPAN> = #detail,</SPAN><SPAN class=attribute>handler</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>com</SPAN><SPAN>.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback# </SPAN><LI><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>isNotNull</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI class=alt><SPAN> </SPAN><SPAN class=tag></< span><SPAN class=tag-name>dynamic</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN><LI><SPAN> where </SPAN><SPAN class=attribute>id</SPAN><SPAN>=#id# </SPAN><LI class=alt><SPAN> </SPAN><LI><SPAN class=tag></< span><SPAN class=tag-name>update</SPAN><SPAN class=tag>></SPAN><SPAN> </SPAN></LI></OL></PRE> <P> </P> <P> </P> <P>ibatis还存在很多的typeHandler,大家自己可以看看</P> <P>【编辑推荐】</P> <OL> <LI><A href="http://developer./art/200908/145130.htm">Java持久层框架iBATIS 3(BETA 1)版本发布</A> <LI><A href="http://developer./art/200907/138657.htm">iBATIS配置类及操作类的浅析</A> <LI><A href="http://developer./art/200907/138645.htm">iBATIS参数理解浅析</A> <LI><A href="http://developer./art/200907/138561.htm">iBATIS模糊查询的实现实例浅析</A> <LI><A href="http://developer./art/200909/153797.htm">Hibernate与iBATIS的对比</A> </LI></OL> </SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></div> <div class="article-bottom"><span>责任编辑:金贺</span> <span> 来源: ITEYE博客</span></div> <div class="article-tags"><a href="https://so./?keywords=Ibatis" target="_blank" class="tag-item">Ibatis</a></div></article> <div class="zan"><img src="https://s5-media./cms/client/img/zanpc.bd208a1.png" alt> <img src="https://s5-media./cms/client/img/zanpchover.fdd60ba.png" alt class="unhover"></div> <div class="share" style="display:;"><div class="share-item"><img src="https://s5-media./cms/client/img/weixin.23cd8b3.png" alt> <span>分享到微信</span> <div class="wx-show" style="display:none;"><div id="qrcodediv2"></div> <p>微信扫码分享</p></div></div> <div class="share-item"><img src="https://s5-media./cms/client/img/weibo.16d6b4f.png" alt> <span>分享到微博</span></div></div> <section class="relevant-recommend"><div class="title">相关推荐</div> <div class="recommend-list"><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136681.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>读写<em>CLOB</em><em>数据</em>浅析</a> <!----> <!----></div> <a href="https://www./article/136681.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS读写CLOB数据是如何操作的呢?本文将会向你介绍相关的信息,希望对你理解iBATIS读写CLOB数据有所帮助。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-15 16:42:03</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E8%AF%BB%E5%86%99CLOB%E6%95%B0%E6%8D%AE" class="split-left-m usehover">iBATIS读写CLO</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136699.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>操作<em>CLOB</em>字段实战浅析</a> <!----> <!----></div> <a href="https://www./article/136699.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS操作CLOB字段实战中是怎么实施的呢?我们将在这篇文章中看到实际的分析,iBATIS操作CLOB字段实战浅析将给你答案。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-15 17:01:29</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E6%93%8D%E4%BD%9CCLOB" class="split-left-m usehover">iBATIS操作CLO</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136668.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>操作Blob与<em>Clob</em>浅析</a> <!----> <!----></div> <a href="https://www./article/136668.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS操作Blob与Clob是如何的过程呢,那么本文将向你介绍iBATIS操作Blob与Clob的情况。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-15 16:26:04</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS+Clob" class="split-left-m usehover">iBATIS Clob</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136528.html" target="_blank" class="usehover article-irl-ct_title"><em>ibatis</em><iterate>标签<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/136528.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">在ibatis中经常会遇到各种标签,其中有一个标签是我们经常遇到的。对于标签,可能还有很多朋友不够熟悉,本文就来详细介绍标签。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-15 11:43:13</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=%3Citerate%3E%E6%A0%87%E7%AD%BE" class="split-left-m usehover"><iterate>标签</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/138652.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>用法之SqlMapTemplate内部类<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/138652.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS用法之SqlMapTemplate内部类向你介绍iBATISSqlMapTemplate内部类的具体用法。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-22 16:13:40</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E7%94%A8%E6%B3%95" class="split-left-m usehover">iBATIS用法</a><a target="_blank" href="https://so./?keywords=SqlMapTemplate" class="split-left-m usehover">SqlMapTempl</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/137135.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>使用之高级查询技术<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/137135.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS使用之高级查询技术iBATIS是InAction之高级查询技术的展现,那么本文就向你展示这项技术的内涵。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-16 17:40:48</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E9%AB%98%E7%BA%A7%E6%9F%A5%E8%AF%A2" class="split-left-m usehover">iBATIS高级查询</a><a target="_blank" href="https://so./?keywords=iBATIS%E4%BD%BF%E7%94%A8" class="split-left-m usehover">iBATIS使用</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/138417.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>.NET执行存储过程实例<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/138417.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS.NET执行存储过程是什么情况呢?iBATIS.NET执行存储过程是怎么执行的呢?那么本文就通过实例向你详细介绍。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-21 17:06:35</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS.NET%E6%89%A7%E8%A1%8C%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B" class="split-left-m usehover">iBATIS.NET执</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/202919.html" target="_blank" class="usehover article-irl-ct_title"><em>详解</em>Cassandra<em>数据</em>库的<em>写</em>操作</a> <!----> <!----></div> <a href="https://www./article/202919.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">本文将为大家介绍NoSQL中的Cassandra数据库的写操作,希望本文能对大家有所帮助。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2010-05-31 17:18:39</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=Cassandra%E6%95%B0%E6%8D%AE%E5%BA%93" class="split-left-m usehover">Cassandra数据</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/137982.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>入门程序六大步<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/137982.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS入门程序六大步主要是在六个程序基础上的,那么本文就将向你介绍iBATIS入门程序的具体操作。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-20 17:42:04</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E5%85%A5%E9%97%A8" class="split-left-m usehover">iBATIS入门</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/138332.html" target="_blank" class="usehover article-irl-ct_title">分步<em>详解</em> 如何在<em>iBatis</em>中调用存储过程</a> <!----> <!----></div> <a href="https://www./article/138332.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">本文通过实例讲解如何在iBatis中调用存储过程,让你在iBatis中调用存储过程更轻松。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-21 14:57:41</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBatis%E4%B8%AD%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B" class="split-left-m usehover">iBatis中调用存储</a><a target="_blank" href="https://so./?keywords=iBatis" class="split-left-m usehover">iBatis</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/550506.html" target="_blank" class="usehover article-irl-ct_title">Oracle的<em>CLOB</em>大<em>数据</em>字段类型</a> <!----> <!----></div> <a href="https://www./article/550506.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">虽然CLOB能解决VARCHAR2字符大小的限制,但是我们的DBA们都不建议用这些来处理,可能效率问题吧,大的文件应该放在服务器上,然后Database中存响应地址即可。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2017-09-05 09:18:54</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=Oracle" class="split-left-m usehover">Oracle</a><a target="_blank" href="https://so./?keywords=CLOB" class="split-left-m usehover">CLOB</a><a target="_blank" href="https://so./?keywords=%E5%A4%A7%E6%95%B0%E6%8D%AE" class="split-left-m usehover">大数据</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/163922.html" target="_blank" class="usehover article-irl-ct_title">简单描述Oracle <em>Clob</em>类型</a> <!----> <!----></div> <a href="https://www./article/163922.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">这里介绍OracleClob类型处理解析最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数在20004000之间时报错。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-11-19 10:43:54</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=Oracle+Clob%E7%B1%BB%E5%9E%8B" class="split-left-m usehover">Oracle Clob</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136631.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>是什么?</a> <!----> <!----></div> <a href="https://www./article/136631.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS是什么呢?iBATIS的由来是什么呢?那么本文将会给你介绍一下iBATIS的基本信息。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-15 15:47:49</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E6%98%AF%E4%BB%80%E4%B9%88" class="split-left-m usehover">iBATIS是什么</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136944.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>配置浅析</a> <!----> <!----></div> <a href="https://www./article/136944.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS配置是如何的呢iBATIS配置需要注意些什么呢?这篇文章将会给你一一介绍。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-21 11:12:00</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS%E9%85%8D%E7%BD%AE" class="split-left-m usehover">iBATIS配置</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/154164.html" target="_blank" class="usehover article-irl-ct_title">简单分析Hibernate读取<em>Clob</em></a> <!----> <!----></div> <a href="https://www./article/154164.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">这里介绍Hibernate读取Clob,Hibernate虽然对多种数据库进行了适应,以达到前台感受不到后台的数据库类型,但是在Blob和Clob这两种类型的存取方面不同的数据库有不同的实现方法。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-09-25 14:04:12</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=Hibernate%E8%AF%BB%E5%8F%96Clob" class="split-left-m usehover">Hibernate读取</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/136856.html" target="_blank" class="usehover article-irl-ct_title">什么是<em>iBATIS</em></a> <!----> <!----></div> <a href="https://www./article/136856.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">什么是iBATIS呢?那么本文将会从概念和具体的应用向你介绍什么是iBATIS。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-16 09:56:32</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=%E4%BB%80%E4%B9%88%E6%98%AFiBATIS" class="split-left-m usehover">什么是iBATIS</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/277006.html" target="_blank" class="usehover article-irl-ct_title">Java和<em>Ibatis</em>调用存储过程并取得返回值<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/277006.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">本文主要介绍了Java和Ibatis调用存储过程的方法,并给出了详细的代码,希望能对读者有所帮助。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2011-07-19 17:33:53</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B" class="split-left-m usehover">存储过程</a><a target="_blank" href="https://so./?keywords=java" class="split-left-m usehover">java</a><a target="_blank" href="https://so./?keywords=ibatis" class="split-left-m usehover">ibatis</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/137734.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>.net<em>数据</em>库缓存模式浅析</a> <!----> <!----></div> <a href="https://www./article/137734.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS.net数据库缓存模式是什么情况呢?我们在使用过程中会有什么问题呢?本文将向你介绍这些简单信息。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-20 09:51:19</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS.net" class="split-left-m usehover">iBATIS.net</a><a target="_blank" href="https://so./?keywords=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%BC%93%E5%AD%98" class="split-left-m usehover">数据库缓存</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl article-irl_border"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/138320.html" target="_blank" class="usehover article-irl-ct_title"><em>iBATIS</em>.NET多<em>数据</em>库支持浅析</a> <!----> <!----></div> <a href="https://www./article/138320.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">iBATIS.NET多数据库支持浅析向你介绍iBATIS.NET的特性,iBATIS.NET多数据库支持是编程人员的福音。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2009-07-21 15:21:59</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=iBATIS.NET%E5%A4%9A%E6%95%B0%E6%8D%AE%E5%BA%93%E6%94%AF%E6%8C%81" class="split-left-m usehover">iBATIS.NET多</a></div></div></div></div> <!----></div><div class="article-articleitem article-ir articleItem"><div class="article-irl"><!----> <div class="article-irl-c"><div class="title-box"><div class="article-irl-ct"><a href="https://www./article/175430.html" target="_blank" class="usehover article-irl-ct_title">Silverlight<em>写</em>图像功能特点<em>详解</em></a> <!----> <!----></div> <a href="https://www./article/175430.html" target="_blank" class="split-top-m usehover pc-three-line article-abstract">Silverlight写图像的实现可以通过新版的BitmapAPI来完成。通过新版的BitmapAPI支持的每个像素的值来创建自己的图像。</a></div> <div class="article-irl-cb_fixed"><p class="article-irl-cb_time">2010-01-04 18:33:39</p> <div class="article-irl-cb_sign"><a target="_blank" href="https://so./?keywords=Silverlight%E5%86%99%E5%9B%BE%E5%83%8F" class="split-left-m usehover">Silverlight</a></div></div></div></div> <!----></div></div></section></div> <aside class="article-right"><!----><div class="advert"><div data-src="https://gg1./www/delivery/ajs.php?zoneid=1301&cb=1708345051&v=article_right_corner" class="advert-wrap article_right_corner"></div></div><!----><!----><!----><!----> <div class="follow-topic"><h3>相似话题</h3> <div class="follow-topic-list"><div class="follow-topic-item"><a href="https://www./frontend" target="_blank" class="follow-topic-title"><i class="ctoicon ctoa-"></i> <div>前端</div></a> <a href="https://www./frontend" target="_blank" class="follow-topic-nums"><span>23703内容</span></a></div><div class="follow-topic-item"><a href="https://www./tool" target="_blank" class="follow-topic-title"><i class="ctoicon ctoa-"></i> <div>开发工具</div></a> <a href="https://www./tool" target="_blank" class="follow-topic-nums"><span>7173内容</span></a></div><div class="follow-topic-item"><a href="https://www./test" target="_blank" class="follow-topic-title"><i class="ctoicon ctoa-"></i> <div>测试</div></a> <a href="https://www./test" target="_blank" class="follow-topic-nums"><span>482内容</span></a></div><div class="follow-topic-item"><a href="https://www./game" target="_blank" class="follow-topic-title"><i class="ctoicon ctoa-"></i> <div>游戏开发</div></a> <a href="https://www./game" target="_blank" class="follow-topic-nums"><span>648内容</span></a></div></div> <a href="https://www./topic" target="_blank" class="see-more"><span>全部话题</span> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAACT0lEQVRIDZWUPYgTQRTHdzdR0yjRTgOKnViIvVYiooLIieTwQCLkC05UhAPRwlJETpRrjnwiEkSDqETwLARB0FoQwVIRsZOIEDxDEn9vbyZkc5O5zEDy3tv5z++9Nzuzfrlcvul53oUgCK7kcrmX+Nbhqg+gzQ8Gg739fr9ZKpUOW+lrk076APgTWYdNYFr1en3/Gsf876qXDhZ833+jcNu73e5KrVbbZcaHT530QbFY7MZisTMk+aigu3u93kqj0dhmSuKqlw68bDb7h9ZPkuSbxPgHOp3O82azuVni8eGiDxMIgMp+Aj5Okl8S4x9pt9sPsL7E42Na/TCBAFj0BXOKJH8lBn6uUqncEd80ptFHEgikUCh8EDBuX2L8BY7vZfFNYyP9ugQCobIXdHFpBHiPTs6OxBHXpjfur17Nrb1FB9dVvMppO8Ztf6fnx61Jb+xAL6T9G3TyUMVbOL5Les5kTXprAqr3+Q01JLN2bNLHTJXoZ6lU6jb+vIpli+ZarVZ4V7Rm1Jr0w+pGheLzUi9S0TXxKXyAOW/b/0l6Y8u8rBngT4GGBfApv5rP5+9LMtOw6dd1UK1WDwF5xE/P3bXBN9JHOuBC7WM73lP9DqkU/zHwObVF8igyptHrKj3EOwG91nBIb5PJZMYCn0ofJuD7vxXQK+B7VImfsDPpdPpfpGQVuOjjVL6JC/QM+EG1/nsikTiRyWR+m+Cu+jiQReBHBUYXbYzAf0g8YTjp40BnSSCsVY7jac765wng8LGrPmDBMiu/Ap+1XSSd1FX/H7GkjBB3TDEJAAAAAElFTkSuQmCC" alt></a></div> <div class="hot-article"><h3>同话题下的热门内容</h3> <div class="hot-article-list"><a href="https://www./article/781342.html" target="_blank" class="hot-article-item">如何免费访问和使用Gemini API?</a><a href="https://www./article/781421.html" target="_blank" class="hot-article-item">Python Subprocess模块详解,你都了解了吗?</a></div></div> <!----> <div class="relevant-topic"><h3><span>相关专题</span> <a href="https://www./specials" target="_blank">更多</a></h3> <a href="https://server./act/nvidia/20221027" target="_blank" class="first-topic"><div class="first-topic-cover"><img src="https://s8./oss/202401/24/27aaaa944029557a825437f31ec0043387e4c4.jpg" alt="NVIDIA:数据革命下的前沿技术变迁"></div> <div class="first-topic-title">NVIDIA:数据革命下的前沿技术变迁</div></a> <div class="relevant-topic-list"><a href="https://cloud./act/nzpxresult/2023" target="_blank" class="relevant-topic-item"><div class="relevant-topic-cover"><img src="https://s4./oss/202312/28/f529d3086dfcd0886d4232861fd628895d0c7d.jpg" alt="2023年第十八届中国企业年终评选榜单公布!"></div> <div class="relevant-topic-info"><div class="relevant-topic-title">2023年第十八届中国企业年终评选榜单公布!</div> <div class="relevant-topic-time">2023-12-28 20:12:38</div></div></a><a href="https://www./act/juniper/2023" target="_blank" class="relevant-topic-item"><div class="relevant-topic-cover"><img src="https://s7./oss/202312/18/66b0d62436766e8f3f73393dd90f4715098679.jpg" alt="网络运维智能化?瞻博网络有奇招!"></div> <div class="relevant-topic-info"><div class="relevant-topic-title">网络运维智能化?瞻博网络有奇招!</div> <div class="relevant-topic-time">2023-12-18 11:43:34</div></div></a></div></div> <div class="my-follow-btn">我收藏的内容</div> <div class="components-topic-edit edit articleStyle"><a href="https://www./editor.html#article"><img src="https://s5-media./cms/static/img/edit.jpg" alt></a></div> <div id="postionSet" class="toppostion"></div></aside> <div class="left-window"><div class="window-item zan"><img src="https://s5-media./cms/client/img/zanpc10.eeddee9.png" alt="点赞"> <img src="https://s5-media./cms/client/img/zanhover.6138b44.png" alt class="unhover"></div> <div class="window-item collect"><img src="https://s5-media./cms/client/img/collect.6dfb91c.png" alt="收藏"> <img src="https://s5-media./cms/client/img/collecthover.2ffcc8f.png" alt class="unhover"></div> <div class="window-item share" style="display:;"><img src="https://s5-media./cms/client/img/share.ca08f33.png" alt="分享"> <div class="share-div" style="display:none;"><div class="share-item"><i class="ctoicon ctoweibo1"></i> <span>微博</span></div> <div class="share-item"><i class="ctoicon ctoqq"></i> <span>QQ</span></div> <div class="share-item wxshare"><i class="ctoicon ctoweixin1"></i> <span>微信</span></div> <div class="share-item"><i class="ctoicon ctoURL"></i> <span>复制链接</span></div> <div class="wxshare-div"><div id="qrcodediv"></div> <p>微信扫码分享</p></div></div></div></div> <!----></div></section> <footer id="footerSet" class="components-common-footer footer"><div class="total-footer"><div class="top-set"><div class="left-work"><h3 class="common-h3">业务</h3> <ul class="nav-link"><li><div class="name-type">媒体</div> <a href="https://www./" target="_blank"></a><a href="https://www.cioage.com/" target="_blank">CIOAge</a><a href="https://www.hc3i.cn/" target="_blank">HC3i</a><a href="https://www./techplur" target="_blank">Techplur</a></li><li><div class="name-type">社区</div> <a href="https://blog./" target="_blank">博客</a><a href="https://edu./rk/" target="_blank">软考资讯</a><a href="https://ost./" target="_blank">鸿蒙开发者社区</a></li><li><div class="name-type">教育</div> <a href="https://edu./" target="_blank">学堂</a><a href="https://e./?utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=4" target="_blank">精培</a><a href="https://b./index?utm_source=hometop" target="_blank">企业培训</a><a href="https://x./act/cto/camp" target="_blank">CTO训练营</a></li></ul> <div><ul class="tr_task" style="display:none;"><li><img src="https://static1./www/images/ewm_8.jpg" alt> <span>学堂</span></li> <li><img src="https://static1./www/images/ewm_qy.png" alt> <span>学堂企业版</span></li> <i class="kuai"></i></ul> <ul class="tr_task_weixin" style="display:none;"><li><img src="https://static1./www/images/ewm_3.jpeg" alt> <span>官微</span></li> <li><img src="https://static1./www/images/ewm_4.jpeg" alt> <span></span></li> <i class="kuai"></i></ul> <div class="tr_foot"><i class="ctoicon ctoweixin"></i> <a href="https://weibo.com/51cto001?is_all=1" target="_blank" rel="noopener noreferrer"><i class="ctoicon ctoweibo"></i></a> <span><i class="ctoicon ctoapp"></i></span></div></div></div> <div class="middle"><h3 class="common-h3">关于我们&条款</h3> <div class="about"><div><ul class="detail-link"><li><a href="https://www./about/about_home.html" target="_blank">关于我们</a></li> <li><a href="https://www./about/map.html" target="_blank">站点地图</a></li> <li><a href="https://www./about/history2020.html" target="_blank">网站大事</a></li> <li><a href="https://www./about/aboutus.html#feedback" target="_blank">意见反馈</a></li> <li><a href="https://www./about/aboutus_e.html" target="_blank">English</a></li> <li><a href="https://edu./center/other/service" target="_blank">用户协议</a></li> <li><a href="https://edu./center/other" target="_blank">隐私协议</a></li></ul></div> <div class="address"><p> 北京市海淀区中关村南1条甲1号ECO中科爱克大厦6-7层 </p> <p> 北京市公安局海淀分局备案编号:110108002980号 <br>营业执照 <a href="https://beian.miit.gov.cn/" target="_blank" class="record-number">京ICP备09067568号</a></p> <p> Copyright © 2005-2024 .COM 京ICP证060544 版权所有 未经许可 请勿转载 </p> <div class="address_img"><a href="https://image./images/51cto-icp.jpg" target="_blank"><img src="https://s7./wyfs02/M02/73/FD/wKiom1YLhe6Rz4cRAAAXp7l7roQ463.jpg" alt></a></div></div></div></div> <div class="right-link"><h3 class="common-h3">友情链接</h3> <div class="links clearfix"><a href="https://tech.sina.com.cn/" target="_blank">新浪科技</a><a href="https://tech.qq.com/" target="_blank">腾讯科技</a><a href="https://tech.163.com/" target="_blank">网易科技</a><a href="https://tech.ifeng.com/" target="_blank">凤凰科技</a><a href="https://www.mydrivers.com/" target="_blank">驱动科技</a><a href="https://www.techwalker.com/" target="_blank">科技行者</a><a href="http://www.techweb.com.cn/" target="_blank">TechWeb</a><a href="https://www.iresearch.cn/" target="_blank">艾瑞网</a><a href="http://www.chinaz.com/" target="_blank">站长之家</a><a href="https://www.sootoo.com/" target="_blank">速途网</a><a href="http://www.cet.com.cn/" target="_blank">中国经济新闻网</a><a href="https://www.ithome.com/" target="_blank">IT之家</a><a href="http://www.iitime.com.cn/" target="_blank">工联网</a><a href="https://www.geekpark.net/" target="_blank">极客公园</a><a href="https://www.263.net/" target="_blank">236视频会议</a><a href="http://www.idcquan.com/" target="_blank">中国IDC圈</a><a href="http://www.d1net.com/" target="_blank">企业网D1Net</a><a href="https://www.pedaily.cn/" target="_blank">投资界</a><a href="https://metafun-space.com/" target="_blank">次方元</a><a href="https://www.volcengine.com/" target="_blank">火山引擎</a></div></div></div></div></footer> <section class="suspension-pendant_r"><div class="erweima-title" style="display:none;"><img src="https://s5-media./cms/static/img/erweima.png" alt=""> <p>技术栈公众号</p></div> <div class="erweima-box"><p>技术栈公众号</p> <img src="https://s5-media./cms/static/img/video.jpg" alt=""></div></section> <div class="components-common-suspension po_top"><div class="cbbfixed"><span class="business"> 业务 <br>速览 </span> <span class="line"></span> <div class="customer_service js_customer zhiCustomBtn" style="height: 36px;"><i class="ctoicon ctokefu"></i> <div class="tooltip_set js_tooltip">在线客服</div></div> <span class="line"></span> <i class="ctoicon ctoxiangshang"></i></div> <div class="cbb_con"><div><div class="title-li">媒体</div> <a href="https://www./" target="_blank"></a> <a href="https://www.cioage.com/" target="_blank">CIOAge</a> <a href="https://www.hc3i.cn/" target="_blank">HC3i</a></div> <div><div class="title-li">社区</div> <a href="https://blog./" target="_blank">博客</a> <a href="https://ost./" target="_blank">鸿蒙开发者社区</a></div> <div><div class="title-li">教育</div> <a href="https://edu./" target="_blank">学堂</a> <a href="https://e./?utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=4" target="_blank">精培</a> <a href="https://b./index?utm_source=hometop" target="_blank">企业培训</a> <a href="https://x./act/cto/camp" target="_blank">CTO训练营</a></div></div></div> <!----> <!----></div></div></div><script>window.__CTOWEB__=(function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,$,aa,ab){return {layout:"default",data:[{baseInfo:{article_id:255955,title:"详解Ibatis写CLOB数据",author:"windcloud1986",author_user_id:c,pubdate:"2011-04-19 09:14:59",abstract:"Ibatis是一个高效,方便,易于学习的数据访问组件,在性能上比hibernate高,学习难度也比hibernate和jdo要低,而且它比直接使用jdbc方便和易于维护。",editor:"金贺",source:"ITEYE博客",source_url:a,article_type:[],topics:[{parent_topic_id:c,topic_id:b,name:l,name_en:"developer",url:x},{name_en:"backend",name:y,topic_id:f,parent_topic_id:b,url:"https:\u002F\u002Fwww.\u002Fbackend"}],keywords:[{name:z,url:"https:\u002F\u002Fso.\u002F?keywords=Ibatis"}],content:"\u003CP\u003EIbatis是一个高效,方便,易于学习的数据访问组件,在性能上比hibernate高,学习难度也比hibernate和jdo要低,而且它比直接使用jdbc方便和易于维护。所以Ibatis深入大家的喜爱,一些对性能有更高的要求的系统(如保险,金融行业系统),或改造遗留系统时,Ibatis是数据访问组件的首选。\u003C\u002FP\u003E\r\n\u003CP\u003E在使用Oracle数据库时,读取CLOB和BLOB等大类型的数据一直是个比较犯难的事,一般都是通过JDBC代码来实现对CLOB和BLOB数据的读写,效果和性能都是最好的,但是代码也相当复杂,且代码难以重用。\u003C\u002FP\u003E\r\n\u003CP\u003E公司的项目正好有这方面的需要,要求我给予解决。在网上找了一些方法,好多不能满足需求,而且都是转载,于是看了下ibatis包,发现ibatis里面已经封装了类,只要直接使用即可。\u003C\u002FP\u003E\r\n\u003CP\u003E有两种方式实现:\u003C\u002FP\u003E\r\n\u003CP\u003E1.通过配置ParameterMap和ResultMap来实现对LOB类型的读写\u003C\u002FP\u003E\r\n\u003CP\u003E1.1 java代码\u003C\u002FP\u003E\r\n\u003CP\u003E假设java类中有个字符串属性\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-j\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=keyword\u003Eprivate\u003C\u002FSPAN\u003E\u003CSPAN\u003E String detail; \u003C\u002FSPAN\u003E\u003CSPAN class=comment\u003E\u002F\u002F 详细描述\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E1.2 sqlmap配置\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-xml\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003EparameterMap\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eclass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"Description\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"DescriptionParam\"\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Eparameter\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eproperty\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"detail\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EjavaType\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"java.lang.String\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EjdbcType\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"NCLOB\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EtypeHandler\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback\"\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u002F>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Eparameter\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eproperty\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"id\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EjavaType\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"java.lang.Long\"\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u002F>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003EparameterMap\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E\u003CPARAMETERMAP class=Description id=DescriptionParam\u003E\u003C\u002FPARAMETERMAP\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E\u003CPARAMETER property=\"detail\" typehandler=\"com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback\" jdbctype=\"NCLOB\" javatype=\"java.lang.String\"\u003E\u003C\u002FPARAMETER\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E\u003CPARAMETER property=\"id\" javatype=\"java.lang.Long\"\u003E\u003C\u002FPARAMETER\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E注意:因为使用了ParameterMap作为输入参数,在插入语句中用?号来代替属性值(如:#detail#)\u003C\u002FP\u003E\r\n\u003CP\u003E新增数据时配置\u003C\u002FP\u003E\r\n\u003CP\u003E\u003CINSERT id=addDescription parameterclass=\"Description\"\u003E\u003C\u002FINSERT\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E\u003C!--DATA[\u003C--\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-xml\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Einsert\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"addDescription\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EparameterClass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"Description\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=cdata\u003E\u003C![CDATA[ \u003C\u002Fspan\u003E \u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E insert into description \u003C\u002FSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E (id, \u003C\u002FSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E detail) \u003C\u002FSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E values(#?#,#?#) \u003C\u002FSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E ]]>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003EselectKey\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EresultClass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"java.lang.Long\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EkeyProperty\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"id\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Etype\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"pre\"\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E select SEQ_description_ID.NEXTVAL from DUAL \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003EselectKey\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003Einsert\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E更新数据时配置\u003C\u002FP\u003E\r\n\u003CP\u003E\u003CUPDATE id=updateDescription parameterclass=\"Description\"\u003E\u003C\u002FUPDATE\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-xml\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Eupdate\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"updateDescription\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EparameterClass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"Description\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E update description set \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Etab_detail\u003C\u002FSPAN\u003E\u003CSPAN\u003E = #?# where \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=#?# \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003Eupdate\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E2. 通过parameterClass传入参数(推荐)\u003C\u002FP\u003E\r\n\u003CP\u003E2.1 java代码\u003C\u002FP\u003E\r\n\u003CP\u003E假设java类中有个字符串属性\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-j\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=keyword\u003Eprivate\u003C\u002FSPAN\u003E\u003CSPAN\u003E String detail; \u003C\u002FSPAN\u003E\u003CSPAN class=comment\u003E\u002F\u002F 详细描述\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E2.2 sqlmap配置\u003C\u002FP\u003E\r\n\u003CP\u003E新增数据时配置\u003C\u002FP\u003E\r\n\u003CP\u003E\u003CINSERT id=addDescription parameterclass=\"Description\"\u003E\u003C\u002FINSERT\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E\u003C!--DATA[\u003C--\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-xml\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Einsert\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"addDescription\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EparameterClass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"Description\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=cdata\u003E\u003C![CDATA[ \u003C\u002Fspan\u003E \u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E insert into description (id, detail) \u003C\u002FSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E values (#id#, #tabDetail,handler=com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback#) \u003C\u002FSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=cdata\u003E ]]>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003EselectKey\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EresultClass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"java.lang.Long\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EkeyProperty\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"id\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Etype\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"pre\"\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E select SEQ_description_ID.NEXTVAL from DUAL \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003EselectKey\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003Einsert\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E更新数据时配置\u003C\u002FP\u003E\r\n\u003CP\u003E\u003CUPDATE id=updateDescription parameterclass=\"Description\"\u003E\u003C\u002FUPDATE\u003E\u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\u003CPRE\u003E\u003COL class=dp-xml\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Eupdate\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"updateDescription\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003EparameterClass\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"Description\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E update description \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003Edynamic\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eprepend\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"set\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E<\u003C\u002FSPAN\u003E\u003CSPAN class=tag-name\u003EisNotNull\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eprepend\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\",\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eproperty\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003E\"detail\"\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Etab_detail\u003C\u002FSPAN\u003E\u003CSPAN\u003E = #detail,\u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Ehandler\u003C\u002FSPAN\u003E\u003CSPAN\u003E=\u003C\u002FSPAN\u003E\u003CSPAN class=attribute-value\u003Ecom\u003C\u002FSPAN\u003E\u003CSPAN\u003E.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback# \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003EisNotNull\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003Edynamic\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN\u003E where \u003C\u002FSPAN\u003E\u003CSPAN class=attribute\u003Eid\u003C\u002FSPAN\u003E\u003CSPAN\u003E=#id# \u003C\u002FSPAN\u003E\u003CLI class=alt\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003CLI\u003E\u003CSPAN class=tag\u003E\u003C\u002F\u003C span\u003E\u003CSPAN class=tag-name\u003Eupdate\u003C\u002FSPAN\u003E\u003CSPAN class=tag\u003E>\u003C\u002FSPAN\u003E\u003CSPAN\u003E \u003C\u002FSPAN\u003E\u003C\u002FLI\u003E\u003C\u002FOL\u003E\u003C\u002FPRE\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003E \u003C\u002FP\u003E\r\n\u003CP\u003Eibatis还存在很多的typeHandler,大家自己可以看看\u003C\u002FP\u003E\r\n\u003CP\u003E【编辑推荐】\u003C\u002FP\u003E\r\n\u003COL\u003E\r\n\u003CLI\u003E\u003CA href=\"http:\u002F\u002Fdeveloper.\u002Fart\u002F200908\u002F145130.htm\"\u003EJava持久层框架iBATIS 3(BETA 1)版本发布\u003C\u002FA\u003E \r\n\u003CLI\u003E\u003CA href=\"http:\u002F\u002Fdeveloper.\u002Fart\u002F200907\u002F138657.htm\"\u003EiBATIS配置类及操作类的浅析\u003C\u002FA\u003E \r\n\u003CLI\u003E\u003CA href=\"http:\u002F\u002Fdeveloper.\u002Fart\u002F200907\u002F138645.htm\"\u003EiBATIS参数理解浅析\u003C\u002FA\u003E \r\n\u003CLI\u003E\u003CA href=\"http:\u002F\u002Fdeveloper.\u002Fart\u002F200907\u002F138561.htm\"\u003EiBATIS模糊查询的实现实例浅析\u003C\u002FA\u003E \r\n\u003CLI\u003E\u003CA href=\"http:\u002F\u002Fdeveloper.\u002Fart\u002F200909\u002F153797.htm\"\u003EHibernate与iBATIS的对比\u003C\u002FA\u003E \u003C\u002FLI\u003E\u003C\u002FOL\u003E\r\n\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E\u003C\u002FSPAN\u003E",cover:a,article_status:b,is_old:m,content_type:[],factor_pub_date:"2011-04-19T09:14:59",factor_up_date:"2022-09-22T19:26:44",title_extension:"mybatis循环insert数据",editor_version:c,is_stop_sharing:d,factor_image_url:[a],parent_topic_id:b,advert_list:[{advert_name:"article_top_navigation",url:"https:\u002F\u002Fgg3.\u002Fwww\u002Fdelivery\u002Fajs.php?zoneid=1279&cb=1708345051"},{advert_name:"article_right_corner",url:"https:\u002F\u002Fgg1.\u002Fwww\u002Fdelivery\u002Fajs.php?zoneid=1301&cb=1708345051"},{advert_name:"article_link_text_one",url:"https:\u002F\u002Fgg1.\u002Fwww\u002Fdelivery\u002Fajs.php?zoneid=1295&cb=1708345051"},{advert_name:"article_link_text_two",url:"https:\u002F\u002Fgg1.\u002Fwww\u002Fdelivery\u002Fajs.php?zoneid=1302&cb=1708345051"},{advert_name:"article_link_text_three",url:a},{advert_name:"article_link_text_four",url:a}]},keywordsStr:z,isError:d,new_specials:[{name:"NVIDIA:数据革命下的前沿技术变迁",url:"https:\u002F\u002Fserver.\u002Fact\u002Fnvidia\u002F20221027",cover:"https:\u002F\u002Fs8.\u002Foss\u002F202401\u002F24\u002F27aaaa944029557a825437f31ec0043387e4c4.jpg",created_at:"2023-01-13 09:20:07"},{name:"2023年第十八届中国企业年终评选榜单公布!",url:"https:\u002F\u002Fcloud.\u002Fact\u002Fnzpxresult\u002F2023",cover:"https:\u002F\u002Fs4.\u002Foss\u002F202312\u002F28\u002Ff529d3086dfcd0886d4232861fd628895d0c7d.jpg",created_at:"2023-12-28 20:12:38"},{name:"网络运维智能化?瞻博网络有奇招!",url:"https:\u002F\u002Fwww.\u002Fact\u002Fjuniper\u002F2023",cover:"https:\u002F\u002Fs7.\u002Foss\u002F202312\u002F18\u002F66b0d62436766e8f3f73393dd90f4715098679.jpg",created_at:"2023-12-18 11:43:34"}],editor_recommend:[],hot_articles:[{article_id:n,title:"如何免费访问和使用Gemini API?",url:"https:\u002F\u002Fwww.\u002Farticle\u002F781342.html",topic:[{id:537318,article_id:n,parent_topic_id:b,topic_id:f,sort:b,topic_status:b},{id:537319,article_id:n,parent_topic_id:A,topic_id:c,sort:g,topic_status:b},{id:537320,article_id:n,parent_topic_id:107,topic_id:c,sort:f,topic_status:b}]},{article_id:B,title:"Python Subprocess模块详解,你都了解了吗?",url:"https:\u002F\u002Fwww.\u002Farticle\u002F781421.html",topic:[{id:537301,article_id:B,parent_topic_id:b,topic_id:f,sort:b,topic_status:e}]}],recommend_topic:[{topic_id:g,name:"前端",name_en:"frontend",parent_id:b,sort:b,article_num:23703,pv_num:c,url:"https:\u002F\u002Fwww.\u002Ffrontend",edu_cate_ids:"102,103,104,105,139,190,245,258,259,260,86",blog_cate_ids:"61,62,63,64,65,95",hm_cate_ids:"18"},{topic_id:j,name:"开发工具",name_en:"tool",parent_id:b,sort:f,article_num:7173,pv_num:c,url:"https:\u002F\u002Fwww.\u002Ftool",edu_cate_ids:"304",blog_cate_ids:a,hm_cate_ids:a},{topic_id:k,name:"测试",name_en:"test",parent_id:b,sort:h,article_num:482,pv_num:c,url:"https:\u002F\u002Fwww.\u002Ftest",edu_cate_ids:"133,242,243,246",blog_cate_ids:"19,96",hm_cate_ids:a},{topic_id:h,name:"游戏开发",name_en:"game",parent_id:b,sort:e,article_num:648,pv_num:c,url:"https:\u002F\u002Fwww.\u002Fgame",edu_cate_ids:"55,85,127",blog_cate_ids:"101,102,103,104,105,3",hm_cate_ids:a}],recommend_article:[{article_id:136681,abstract:"iBATIS读写CLOB数据是如何操作的呢?本文将会向你介绍相关的信息,希望对你理解iBATIS读写CLOB数据有所帮助。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E读写\u003Cem\u003ECLOB\u003C\u002Fem\u003E\u003Cem\u003E数据\u003C\u002Fem\u003E浅析",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136681.html",pubdate:"2009-07-15 16:42:03",keyword:[{name:"iBATIS读写CLOB数据",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E8%AF%BB%E5%86%99CLOB%E6%95%B0%E6%8D%AE"}],article_type:[]},{article_id:136699,abstract:"iBATIS操作CLOB字段实战中是怎么实施的呢?我们将在这篇文章中看到实际的分析,iBATIS操作CLOB字段实战浅析将给你答案。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E操作\u003Cem\u003ECLOB\u003C\u002Fem\u003E字段实战浅析",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136699.html",pubdate:"2009-07-15 17:01:29",keyword:[{name:"iBATIS操作CLOB",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E6%93%8D%E4%BD%9CCLOB"}],article_type:[]},{article_id:136668,abstract:"iBATIS操作Blob与Clob是如何的过程呢,那么本文将向你介绍iBATIS操作Blob与Clob的情况。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E操作Blob与\u003Cem\u003EClob\u003C\u002Fem\u003E浅析",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136668.html",pubdate:"2009-07-15 16:26:04",keyword:[{name:"iBATIS Clob",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS+Clob"}],article_type:[]},{article_id:136528,abstract:"在ibatis中经常会遇到各种标签,其中有一个标签是我们经常遇到的。对于标签,可能还有很多朋友不够熟悉,本文就来详细介绍标签。",cover:a,title:"\u003Cem\u003Eibatis\u003C\u002Fem\u003E\u003Citerate\u003E标签\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136528.html",pubdate:"2009-07-15 11:43:13",keyword:[{name:"\u003Citerate\u003E标签",url:"https:\u002F\u002Fso.\u002F?keywords=%3Citerate%3E%E6%A0%87%E7%AD%BE"}],article_type:[]},{article_id:138652,abstract:"iBATIS用法之SqlMapTemplate内部类向你介绍iBATISSqlMapTemplate内部类的具体用法。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E用法之SqlMapTemplate内部类\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F138652.html",pubdate:"2009-07-22 16:13:40",keyword:[{name:"iBATIS用法",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E7%94%A8%E6%B3%95"},{name:"SqlMapTemplate",url:"https:\u002F\u002Fso.\u002F?keywords=SqlMapTemplate"}],article_type:[]},{article_id:137135,abstract:"iBATIS使用之高级查询技术iBATIS是InAction之高级查询技术的展现,那么本文就向你展示这项技术的内涵。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E使用之高级查询技术\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F137135.html",pubdate:"2009-07-16 17:40:48",keyword:[{name:"iBATIS高级查询",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E9%AB%98%E7%BA%A7%E6%9F%A5%E8%AF%A2"},{name:"iBATIS使用",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E4%BD%BF%E7%94%A8"}],article_type:[]},{article_id:138417,abstract:"iBATIS.NET执行存储过程是什么情况呢?iBATIS.NET执行存储过程是怎么执行的呢?那么本文就通过实例向你详细介绍。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E.NET执行存储过程实例\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F138417.html",pubdate:"2009-07-21 17:06:35",keyword:[{name:"iBATIS.NET执行存储过程",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS.NET%E6%89%A7%E8%A1%8C%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B"}],article_type:[]},{article_id:202919,abstract:"本文将为大家介绍NoSQL中的Cassandra数据库的写操作,希望本文能对大家有所帮助。",cover:a,title:"\u003Cem\u003E详解\u003C\u002Fem\u003ECassandra\u003Cem\u003E数据\u003C\u002Fem\u003E库的\u003Cem\u003E写\u003C\u002Fem\u003E操作",url:"https:\u002F\u002Fwww.\u002Farticle\u002F202919.html",pubdate:"2010-05-31 17:18:39",keyword:[{name:"Cassandra数据库",url:"https:\u002F\u002Fso.\u002F?keywords=Cassandra%E6%95%B0%E6%8D%AE%E5%BA%93"}],article_type:[]},{article_id:137982,abstract:"iBATIS入门程序六大步主要是在六个程序基础上的,那么本文就将向你介绍iBATIS入门程序的具体操作。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E入门程序六大步\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F137982.html",pubdate:"2009-07-20 17:42:04",keyword:[{name:"iBATIS入门",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E5%85%A5%E9%97%A8"}],article_type:[]},{article_id:138332,abstract:"本文通过实例讲解如何在iBatis中调用存储过程,让你在iBatis中调用存储过程更轻松。",cover:a,title:"分步\u003Cem\u003E详解\u003C\u002Fem\u003E 如何在\u003Cem\u003EiBatis\u003C\u002Fem\u003E中调用存储过程",url:"https:\u002F\u002Fwww.\u002Farticle\u002F138332.html",pubdate:"2009-07-21 14:57:41",keyword:[{name:"iBatis中调用存储过程",url:"https:\u002F\u002Fso.\u002F?keywords=iBatis%E4%B8%AD%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B"},{name:"iBatis",url:"https:\u002F\u002Fso.\u002F?keywords=iBatis"}],article_type:[]},{article_id:550506,abstract:"虽然CLOB能解决VARCHAR2字符大小的限制,但是我们的DBA们都不建议用这些来处理,可能效率问题吧,大的文件应该放在服务器上,然后Database中存响应地址即可。",cover:a,title:"Oracle的\u003Cem\u003ECLOB\u003C\u002Fem\u003E大\u003Cem\u003E数据\u003C\u002Fem\u003E字段类型",url:"https:\u002F\u002Fwww.\u002Farticle\u002F550506.html",pubdate:"2017-09-05 09:18:54",keyword:[{name:"Oracle",url:"https:\u002F\u002Fso.\u002F?keywords=Oracle"},{name:"CLOB",url:"https:\u002F\u002Fso.\u002F?keywords=CLOB"},{name:r,url:"https:\u002F\u002Fso.\u002F?keywords=%E5%A4%A7%E6%95%B0%E6%8D%AE"}],article_type:[]},{article_id:163922,abstract:"这里介绍OracleClob类型处理解析最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数在20004000之间时报错。",cover:a,title:"简单描述Oracle \u003Cem\u003EClob\u003C\u002Fem\u003E类型",url:"https:\u002F\u002Fwww.\u002Farticle\u002F163922.html",pubdate:"2009-11-19 10:43:54",keyword:[{name:"Oracle Clob类型",url:"https:\u002F\u002Fso.\u002F?keywords=Oracle+Clob%E7%B1%BB%E5%9E%8B"}],article_type:[]},{article_id:136631,abstract:"iBATIS是什么呢?iBATIS的由来是什么呢?那么本文将会给你介绍一下iBATIS的基本信息。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E是什么?",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136631.html",pubdate:"2009-07-15 15:47:49",keyword:[{name:"iBATIS是什么",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E6%98%AF%E4%BB%80%E4%B9%88"}],article_type:[]},{article_id:136944,abstract:"iBATIS配置是如何的呢iBATIS配置需要注意些什么呢?这篇文章将会给你一一介绍。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E配置浅析",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136944.html",pubdate:"2009-07-21 11:12:00",keyword:[{name:"iBATIS配置",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS%E9%85%8D%E7%BD%AE"}],article_type:[]},{article_id:154164,abstract:"这里介绍Hibernate读取Clob,Hibernate虽然对多种数据库进行了适应,以达到前台感受不到后台的数据库类型,但是在Blob和Clob这两种类型的存取方面不同的数据库有不同的实现方法。",cover:a,title:"简单分析Hibernate读取\u003Cem\u003EClob\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F154164.html",pubdate:"2009-09-25 14:04:12",keyword:[{name:"Hibernate读取Clob",url:"https:\u002F\u002Fso.\u002F?keywords=Hibernate%E8%AF%BB%E5%8F%96Clob"}],article_type:[]},{article_id:136856,abstract:"什么是iBATIS呢?那么本文将会从概念和具体的应用向你介绍什么是iBATIS。",cover:a,title:"什么是\u003Cem\u003EiBATIS\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F136856.html",pubdate:"2009-07-16 09:56:32",keyword:[{name:"什么是iBATIS",url:"https:\u002F\u002Fso.\u002F?keywords=%E4%BB%80%E4%B9%88%E6%98%AFiBATIS"}],article_type:[]},{article_id:277006,abstract:"本文主要介绍了Java和Ibatis调用存储过程的方法,并给出了详细的代码,希望能对读者有所帮助。",cover:a,title:"Java和\u003Cem\u003EIbatis\u003C\u002Fem\u003E调用存储过程并取得返回值\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F277006.html",pubdate:"2011-07-19 17:33:53",keyword:[{name:"存储过程",url:"https:\u002F\u002Fso.\u002F?keywords=%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B"},{name:"java",url:"https:\u002F\u002Fso.\u002F?keywords=java"},{name:"ibatis",url:"https:\u002F\u002Fso.\u002F?keywords=ibatis"}],article_type:[]},{article_id:137734,abstract:"iBATIS.net数据库缓存模式是什么情况呢?我们在使用过程中会有什么问题呢?本文将向你介绍这些简单信息。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E.net\u003Cem\u003E数据\u003C\u002Fem\u003E库缓存模式浅析",url:"https:\u002F\u002Fwww.\u002Farticle\u002F137734.html",pubdate:"2009-07-20 09:51:19",keyword:[{name:"iBATIS.net",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS.net"},{name:"数据库缓存",url:"https:\u002F\u002Fso.\u002F?keywords=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%BC%93%E5%AD%98"}],article_type:[]},{article_id:138320,abstract:"iBATIS.NET多数据库支持浅析向你介绍iBATIS.NET的特性,iBATIS.NET多数据库支持是编程人员的福音。",cover:a,title:"\u003Cem\u003EiBATIS\u003C\u002Fem\u003E.NET多\u003Cem\u003E数据\u003C\u002Fem\u003E库支持浅析",url:"https:\u002F\u002Fwww.\u002Farticle\u002F138320.html",pubdate:"2009-07-21 15:21:59",keyword:[{name:"iBATIS.NET多数据库支持",url:"https:\u002F\u002Fso.\u002F?keywords=iBATIS.NET%E5%A4%9A%E6%95%B0%E6%8D%AE%E5%BA%93%E6%94%AF%E6%8C%81"}],article_type:[]},{article_id:175430,abstract:"Silverlight写图像的实现可以通过新版的BitmapAPI来完成。通过新版的BitmapAPI支持的每个像素的值来创建自己的图像。",cover:a,title:"Silverlight\u003Cem\u003E写\u003C\u002Fem\u003E图像功能特点\u003Cem\u003E详解\u003C\u002Fem\u003E",url:"https:\u002F\u002Fwww.\u002Farticle\u002F175430.html",pubdate:"2010-01-04 18:33:39",keyword:[{name:"Silverlight写图像",url:"https:\u002F\u002Fso.\u002F?keywords=Silverlight%E5%86%99%E5%9B%BE%E5%83%8F"}],article_type:[]}]}],fetch:{},error:null,state:{config:{origin:C,baseURL:"https:\u002F\u002Fapi-media.",publicPath:"https:\u002F\u002Fs5-media.\u002Fcms\u002Fclient",staticPath:"https:\u002F\u002Fs5-media.\u002Fcms\u002Fstatic",HOME_URL:"https:\u002F\u002Fhome.",SPECIAL_URL:D,AD_URL:"https:\u002F\u002Fgg.\u002Fwww\u002Fdelivery\u002Fajs.php",topic:"www",eduURL:E,title:"技术成就梦想-中国知名的数字化人才学习平台和技术社区",aboutTitle:"技术成就梦想-中国知名的数字化人才学习平台和技术社区-.COM",NODE_ENV:"production",alife:"prod",des:s,keywords:"技术媒体,在线教育,视频课程,企业培训,鸿蒙社区,开发者社区,资讯,职场,技术博客,软考,认证考试,开发,编程语言,物联网,HarmonyOS,人工智能,大数据,国产化,软件开发,网络,系统,操作系统,运维,安全,存储,数据库,企业解决方案,华为",tdk:{developer:{title:"开发频道-.COM-中国知名的数字化人才学习平台和技术社区",des:"开发频道是IT开发技术领域的知名技术门户。主要内容包括架构设计、项目管理、编程语言、开发工具、大数据等多个领域,为广大IT专业技术人员提供丰富的技术文章及专题资源。开发频道用户涵盖程序员、架构师、项目经理和企业CTO等不同层次,在整个中国开发技术领域起到信息传播和服务的平台作用。",keywords:"Java,.NET,Web,HTML5,Python,Scala,JVM,C++,PHP,测试,软件测试,单元测试,架构,架构设计,项目管理,编程语言,大数据,NOSQL,设计,程序员"},mobile:{title:"移动开发-.COM-中国知名的数字化人才学习平台和技术社区",des:"移动开发频道,为智能手机和移动设备的应用开发者提供Android、iPhone、WindowsPhone、MeeGo、Ophone、Widget等多个移动平台的技术知识与资讯,融合移动开发领域的技术专家和厂商,提供技术趋势的方向性指引与行业发展分析。",keywords:"移动,应用开发,移动开发,移动应用运营,移动信息化"},os:{title:"系统频道-.COM-中国知名的数字化人才学习平台和技术社区",des:"系统频道为读者提供企业级Linux、Unix以及Windows系统管理相关的技术文章、专题与资讯,为入门者提供资料与指引,并对基于移动智能设备以及浏览器的下一代系统平台进行前瞻性的探讨。",keywords:"操作系统,OS,Linux,Unix,Windows,Mac,开源,移动OS,浏览器"},network:{title:"网络频道-网络技术专家-.COM-中国知名的数字化人才学习平台和技术社区",des:"网络频道主要提供网络技术、网络传输、网络性能提升、有线网络、无线网络、通信网络、网络管理、网络运维、网络可视化、网络优化、路由技术、交换网络等方面的技术文档和新闻资讯等专业服务。百余个网络技术专题,超过10万篇技术文章,让您轻松掌握整个IT网络技术领域的最新动向。",keywords:"路由器,交换机,统一通信,超融合,基础架构,云,数据中心,通信,无线,布线,5G,网络融合,网络优化,网络可视化,sdn,nfv,wifi,边缘计算,智能化,数字化转型,无线路由器,智能路由器,路由器设置,交换机设置,智能交换机,万兆以太网,软件定义网络,软件定义广域网,sd-wan,交换网,无线网络,无线网络设备,如何设置路由器,无线路由,综合布线,云计算,大数据,负载均衡,性能优化,流量分析,上网行为管理,网络协议,行业专网,操作系统,虚拟化,云数据中心,资源池"},netsecurity:{title:"网络安全频道-.COM-中国知名的数字化人才学习平台和技术社区",des:"安全频道是IT网络安全领域知名的门户频道。技术成就梦想,而源于专业,安全频道拥有百余个专业的安全技术专题,超过10万篇技术文章,涵盖了整个IT网络安全领域。",keywords:"网络安全,病毒,黑客,防火墙,攻击,勒索软件,防御,UTM,IDS\u002FIPS,ARP,DDoS,安全技术,APT,Sniffer,杀毒,杀毒软件,查杀,工控安全,漏洞,系统安全,数据安全,安全管理,密码,破解,补丁,防病毒,云安全,流氓软件,恶意软件,大数据安全,信息安全,虚拟化安全,网站安全,中毒,加密,解密,脚本攻击,网络钓鱼,蠕虫,木马,邮件安全,数据库安全,入侵检测,入侵防御,服务器安全,拒绝服务攻击,欺骗,VPN网关,反病毒,垃圾邮件,SSLVPN"},database:{title:"数据库频道-.COM-中国知名的数字化人才学习平台和技术社区",des:"数据库频道,为数据库工程师和管理人员提供数据库技术资讯,内容包括oracle\u002Fsqlserver\u002Fsybase\u002Fjava\u002Fmysql\u002Fasp.net\u002Fdb2数据库前沿技术,数据基础、数据库管理、数据库开发和数据库安全和培训等方面。",keywords:"数据库,sql数据库,oracle数据库,access数据库,数据库软件,数据库设计,数据库教程,数据库管理,开发,营销,培训"},contentCenter:{title:"内容中心-为技术人员提供优质内容和服务,赋能技术人员成长",des:F,keywords:G},editor:{title:"社区编辑-汇聚独到见解乐于分享的优秀技术人-.COM",des:s,keywords:H},personEditor:{title:"的个人主页-技术成就梦想-中国知名的数字化人才学习平台和技术社区-.COM",des:s,keywords:H},centerList:{title:"技术精选特刊-技术成就梦想-中国知名的数字化人才学习平台和技术社区-.COM",des:"技术精选特刊是内容中心为高级技术开发人员和企业管理人员特别推出的刊物。本刊将时刻关注编程、开源、大前端、大数据、云原生、物联网、人工智能、元宇宙等众多技术领域的演进与创新,为读者深度解读技术领域的变化与走向。",keywords:I},centerDetail:{title:"-技术成就梦想-中国知名的数字化人才学习平台和技术社区-.COM",des:"-刊物介绍。",keywords:I},author:{title:"内容中心编辑团队-前沿科技的传播者,数字化转型的记录者-.com",des:"内容中心编辑团队由二十余位资历深厚的编辑组成,秉持创新、深度、专业、多元的原则,以文章、视频、直播、沙龙等不同形式输出优质内容,话题涵盖人工智能、元宇宙、云原生、开源、架构、开发、安全等多个技术领域,旨在为各领域技术人员提供技术学习、技能提升、行业应用、资源整合等多方位的服务与支持;为转型中的企业提出全新视角,助力其把握数字经济发展机遇,抢占市场发展先机。",keywords:"内容中心编辑团队,内容中心,技术媒体,在线教育,视频课程,企业培训,鸿蒙社区,开发者社区,资讯,职场,技术博客,软考,认证考试,开发,编程语言,物联网,HarmonyOS,人工智能,大数据,国产化,软件开发,网络,系统,操作系统,运维,安全,存储,数据库,企业解决方案,华为"},videoList:{title:"-为技术人员提供优质内容和服务,赋能技术人员成长",des:F,keywords:"视频,内容中心,技术媒体,在线教育,视频课程,企业培训,鸿蒙社区,开发者社区,资讯,职场,技术博客,软考,认证考试,开发,编程语言,物联网,HarmonyOS,人工智能,大数据,国产化,软件开发,网络,系统,操作系统,运维,安全,存储,数据库,企业解决方案,华为"},acticityList:{title:"活动-.COM-中国知名的数字化人才学习平台和技术社区",des:"活动专区,直播、线上活动、线下活动,为技术人员提供优质内容和服务,赋能技术人员成长",keywords:G}},server_url:"https:\u002F\u002Fsc.\u002Fsa?project=production",oldurl:["other."]},token:"QVFCUlhnc0dCd1pSQjFZRUlHVjlHeVo3YWxRQUFBWQ",tokentime:1708346477,pcmobile:"pc",topData:{bannerList:[],hotList:[],courseList:[],trainList:[],lineList:{}},centerData:{recommend:[],wayTopic:[],wapSpecial:[],ctoInfo:[],weekArticles:[],hmArticles:{},blogArticles:[],blogEtp:[],enterpriseSchool:[],hmRecommend:[]},hotList:[],topicList:[{topic_id:a,name:"推荐",name_en:a,url:a}],page:b,page_size:50,limit_time:c,name_en:a,showMore:d,total_count:c,courseList:[],recommendData:[],liveData:[],footerHeight:c,postionShow:d,leftPostionShow:d,showBackground:d,ad:{adscript:{},navtop:d,navbottom:d,navbottomNew:d,headlinebottom:d,jing:d,articleFlag:d,topicThreeFlag:d},center:{journalList:[],journalListCount:c,journalView:{},isFirstReqList:m,JournalListPC:[],journalListCountPC:c,firstJournal:{},journalId:c,factor_up_date:a,centerTopic:[{name:"精选",id:c},{name:J,id:A},{name:K,id:118},{name:"云原生",id:75},{name:L,id:104},{name:"架构",id:o},{name:r,id:51},{name:M,id:N},{name:l,id:b},{name:t,id:120}]},nav:{topnavData:[{navId:b,parentNavId:c,title:"首页",navUrl:C,iconUrl:a,navSort:b,childDetail:[],isshow:d},{navId:g,parentNavId:c,title:O,navUrl:"https:\u002F\u002Fwww.\u002Fdev?utm_source=hometop",iconUrl:a,navSort:g,childDetail:[],isshow:d},{navId:f,parentNavId:c,title:"博客",navUrl:u,iconUrl:a,navSort:f,childDetail:[],isshow:d},{navId:h,parentNavId:c,title:"学堂",navUrl:"https:\u002F\u002Fedu.\u002F?utm_source=hometop",iconUrl:a,navSort:h,childDetail:[{navId:N,parentNavId:h,title:P,navUrl:Q,iconUrl:a,navSort:b},{navId:R,parentNavId:h,title:"免费课程",navUrl:"https:\u002F\u002Fedu.\u002Fcourselist\u002Findex-zh5.html?utm_source=hometop",iconUrl:a,navSort:g},{navId:S,parentNavId:h,title:"课程排行",navUrl:"https:\u002F\u002Fedu.\u002Franking\u002Findex.html?utm_source=hometop",iconUrl:a,navSort:f},{navId:13,parentNavId:h,title:"直播课",navUrl:"https:\u002F\u002Fe.\u002Fncamp\u002Flist?utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=13",iconUrl:a,navSort:h},{navId:14,parentNavId:h,title:"软考学堂",navUrl:"https:\u002F\u002Fe.\u002Frk\u002F?utm_platform=pc&utm_medi-um=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=14",iconUrl:a,navSort:e}],isshow:d},{navId:e,parentNavId:c,title:"精品班",navUrl:"https:\u002F\u002Fe.\u002F?utm_platform=pc&utm_medi-um=51cto&utm_source=zhuzhan&utm_content=sy_topbar",iconUrl:"https:\u002F\u002Fs2.\u002Foss\u002F202312\u002F22\u002Fd63741682abe5437c1859125feed3088debd88.png",navSort:e,childDetail:[{navId:15,parentNavId:e,title:"全部课程",navUrl:"https:\u002F\u002Fe.\u002Fwejob\u002Flist?utm_platform=pc&utm_medi-um=51cto&utm_source=zhuzhan&utm_content=sy_topbar",iconUrl:a,navSort:b},{navId:16,parentNavId:e,title:"厂商认证",navUrl:"https:\u002F\u002Fe.\u002Fwejob\u002Flist?pid=5&utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=41",iconUrl:a,navSort:g},{navId:17,parentNavId:e,title:"IT技术",navUrl:"https:\u002F\u002Fe.\u002Fwejob\u002Flist?pid=1&utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=42",iconUrl:a,navSort:f},{navId:18,parentNavId:e,title:"2024年软考",navUrl:"https:\u002F\u002Fe.\u002Frk\u002F?utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_xyzq_rightwzl&rtm_frd=07&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=43",iconUrl:a,navSort:h},{navId:19,parentNavId:e,title:"PMP项目管理",navUrl:"https:\u002F\u002Fe.\u002Fwejob\u002Flist?pid=33&utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=44",iconUrl:a,navSort:e},{navId:32,parentNavId:e,title:T,navUrl:U,iconUrl:a,navSort:j}],isshow:d},{navId:33,parentNavId:c,title:"直播训练营",navUrl:"https:\u002F\u002Fedu.\u002Fsurl=o0bwJ2",iconUrl:a,navSort:j,childDetail:[],isshow:d},{navId:j,parentNavId:c,title:V,navUrl:v,iconUrl:a,navSort:k,childDetail:[{navId:20,parentNavId:j,title:"在线学习",navUrl:v,iconUrl:a,navSort:b}],isshow:d},{navId:k,parentNavId:c,title:p,navUrl:W,iconUrl:a,navSort:o,childDetail:[{navId:28,parentNavId:k,title:p,navUrl:W,iconUrl:a,navSort:b},{navId:29,parentNavId:k,title:"技术经理研习营",navUrl:"https:\u002F\u002Fx.\u002Fact\u002Fcto\u002Ftl",iconUrl:a,navSort:g},{navId:30,parentNavId:k,title:"LeaTech峰会",navUrl:"https:\u002F\u002Fx.\u002Fact\u002Fcto\u002Fleatech2021?www1",iconUrl:a,navSort:f}],isshow:d},{navId:i,parentNavId:c,title:q,navUrl:"https:\u002F\u002Fost.\u002F?utm_source=hometop",iconUrl:a,navSort:i,childDetail:[{navId:22,parentNavId:i,title:"文章",navUrl:"https:\u002F\u002Fost.\u002Fpostlist",iconUrl:a,navSort:b},{navId:23,parentNavId:i,title:"资源",navUrl:"https:\u002F\u002Fost.\u002Fresource",iconUrl:a,navSort:g},{navId:24,parentNavId:i,title:"问答",navUrl:"https:\u002F\u002Fost.\u002Fanswerlist",iconUrl:a,navSort:f},{navId:25,parentNavId:i,title:"课堂",navUrl:"https:\u002F\u002Fost.\u002Fstudy",iconUrl:a,navSort:h},{navId:26,parentNavId:i,title:"专栏",navUrl:"https:\u002F\u002Fost.\u002Fcolumn",iconUrl:a,navSort:e},{navId:27,parentNavId:i,title:X,navUrl:"https:\u002F\u002Fost.\u002Factivity",iconUrl:a,navSort:j}],isshow:d},{navId:w,parentNavId:c,title:"WOT全球技术创新大会",navUrl:"https:\u002F\u002F\u002Fwot\u002F?utm_source=dhl",iconUrl:a,navSort:w,childDetail:[],isshow:d}],weChatQRcode:[{navId:b,navType:b,navName:Y,imageUrl:"https:\u002F\u002Fs5.\u002Foss\u002F202302\u002F07\u002F862966771f540df82857144db74b27ee5b4b23.jpeg",navSort:b},{navId:g,navType:b,navName:q,imageUrl:"https:\u002F\u002Fs4.\u002Foss\u002F202302\u002F07\u002Fd53d67c771f5cc42bac359bceb138c4cb1713b.jpg",navSort:g},{navId:f,navType:b,navName:"技术栈",imageUrl:"https:\u002F\u002Fs6.\u002Foss\u002F202302\u002F07\u002F58786f9973e5e929ef521783e1ee40413b04de.jpeg",navSort:f},{navId:h,navType:b,navName:"官微",imageUrl:"https:\u002F\u002Fs3.\u002Foss\u002F202302\u002F07\u002Fc77c03983d48589b1af789dfc284acb6a7c529.jpeg",navSort:h},{navId:e,navType:b,navName:Z,imageUrl:"https:\u002F\u002Fs4.\u002Foss\u002F202302\u002F07\u002F544d71641d983430fc9955636e625e6bb21ff9.jpeg",navSort:e},{navId:j,navType:b,navName:_,imageUrl:"https:\u002F\u002Fs3.\u002Foss\u002F202302\u002F07\u002Ff1bd61e720bf669483d941a8486c124f32c451.jpeg",navSort:j},{navId:k,navType:b,navName:p,imageUrl:"https:\u002F\u002Fs9.\u002Foss\u002F202302\u002F07\u002F4719e7b27bae3af5e33552481b6cb913288b01.jpeg",navSort:k},{navId:o,navType:b,navName:"鸿蒙开发者社区订阅号",imageUrl:"https:\u002F\u002Fs5.\u002Foss\u002F202302\u002F07\u002F61a991f484307eed2fe9356cc215c4d8f2dc0f.jpg",navSort:o},{navId:S,navType:b,navName:"题库小程序",imageUrl:"https:\u002F\u002Fs9.\u002Foss\u002F202312\u002F22\u002Fd14a8af27ec180578e0921bf0322374996d667.jpeg",navSort:i}],appQRcodeData:[{navId:i,navType:g,navName:"学堂APP",imageUrl:"https:\u002F\u002Fs8.\u002Foss\u002F202302\u002F07\u002F24febb8152cc24e264e642f8cb8bb515efea26.jpeg",navSort:b},{navId:w,navType:g,navName:"学堂企业版APP",imageUrl:"https:\u002F\u002Fs9.\u002Foss\u002F202302\u002F07\u002F43cca7d0489cc5d1f70060be760bde17d552e2.jpeg",navSort:g},{navId:R,navType:g,navName:"鸿蒙开发者社区视频号",imageUrl:"https:\u002F\u002Fs5.\u002Foss\u002F202302\u002F07\u002Fc4d2220826890472539671d7c428f0c0ee9451.jpg",navSort:f}],showclass:a},route:{isHost:d,isHostForIndex:d,topic:void 0,firstTopic:a,page:b,type:a,showHtml:d},secondnav:{navList:[{name:O,has_url:b,has_list:b,url:"https:\u002F\u002Fwww.\u002Fdev",list:[{name:l,url:x},{name:J,url:"https:\u002F\u002Fwww.\u002Fai"},{name:"云计算",url:"https:\u002F\u002Fwww.\u002Fcloud"},{name:L,url:"https:\u002F\u002Fwww.\u002Fopensource"},{name:r,url:"https:\u002F\u002Fwww.\u002Fbigdata"},{name:"网络",url:"https:\u002F\u002Fwww.\u002Fnetwork"},{name:M,url:"https:\u002F\u002Fwww.\u002Fnetsecurity"},{name:"系统",url:"https:\u002F\u002Fwww.\u002Fos"},{name:"数据库",url:"https:\u002F\u002Fwww.\u002Fdatabase"},{name:"物联网",url:"https:\u002F\u002Fwww.\u002Fiot"},{name:"移动开发",url:"https:\u002F\u002Fwww.\u002Fmobile"},{name:"运维",url:"https:\u002F\u002Fwww.\u002Foperation"},{name:"服务器",url:"https:\u002F\u002Fserver."},{name:"存储",url:"https:\u002F\u002Fwww.\u002Fstor"},{name:"商务办公",url:"https:\u002F\u002Fwww.\u002Fbiz"},{name:"新闻",url:"https:\u002F\u002Fwww.\u002Fnews"},{name:"区块链",url:"https:\u002F\u002Fwww.\u002Fblockchain"},{name:K,url:"https:\u002F\u002Fwww.\u002Fmetaverse"},{name:$,url:"https:\u002F\u002Fwww.cioage.com"},{name:"数字化转型",url:"https:\u002F\u002Fwww.\u002Fdigital"},{name:"原创",url:"https:\u002F\u002Fwww.\u002Foriginal"},{name:"译文",url:"https:\u002F\u002Fwww.\u002Ftranslation"},{name:"专题",url:D},{name:"企业动态",url:"https:\u002F\u002Fwww.\u002Fbusiness"},{name:t,url:aa}]},{name:"技术博客",has_url:b,has_list:c,url:u,list:[]},{name:"课程",has_url:b,has_list:c,url:"http:\u002F\u002Fedu.\u002F?jydh",list:[]},{name:X,has_url:b,has_list:c,url:"https:\u002F\u002Fzhibo.?utm_source=shouye",list:[]},{name:"活动",has_url:b,has_list:c,url:"https:\u002F\u002Fwww.\u002Factivity",list:[]},{name:P,has_url:b,has_list:c,url:Q,list:[]},{name:q,has_url:b,has_list:c,url:"https:\u002F\u002Fost.#zzsy",list:[]},{name:"企业学习",has_url:b,has_list:c,url:"https:\u002F\u002Fb.?utm_source=home_sub_menu",list:[]}]},shence:{is_channel:m,first_channel:l,second_channel:y},sitemap:{workList:[{name:"媒体",list:[{name:Y,url:"https:\u002F\u002Fwww.\u002F"},{name:$,url:"https:\u002F\u002Fwww.cioage.com\u002F"},{name:"HC3i",url:"https:\u002F\u002Fwww.hc3i.cn\u002F"},{name:t,url:aa}]},{name:"社区",list:[{name:_,url:u},{name:T,url:U},{name:q,url:"https:\u002F\u002Fost.\u002F"}]},{name:"教育",list:[{name:Z,url:E},{name:"精培",url:"https:\u002F\u002Fe.\u002F?utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=sy_topbar&rtm_frd=4"},{name:V,url:v},{name:p,url:"https:\u002F\u002Fx.\u002Fact\u002Fcto\u002Fcamp"}]}],linkList:[{name:"新浪科技",url:"https:\u002F\u002Ftech.sina.com.cn\u002F"},{name:"腾讯科技",url:"https:\u002F\u002Ftech.qq.com\u002F"},{name:"网易科技",url:"https:\u002F\u002Ftech.163.com\u002F"},{name:"凤凰科技",url:"https:\u002F\u002Ftech.ifeng.com\u002F"},{name:"驱动科技",url:"https:\u002F\u002Fwww.mydrivers.com\u002F"},{name:"科技行者",url:"https:\u002F\u002Fwww.techwalker.com\u002F"},{name:"TechWeb",url:"http:\u002F\u002Fwww.techweb.com.cn\u002F"},{name:"艾瑞网",url:"https:\u002F\u002Fwww.iresearch.cn\u002F"},{name:"站长之家",url:"http:\u002F\u002Fwww.chinaz.com\u002F"},{name:"速途网",url:"https:\u002F\u002Fwww.sootoo.com\u002F"},{name:"中国经济新闻网",url:"http:\u002F\u002Fwww.cet.com.cn\u002F"},{name:"IT之家",url:"https:\u002F\u002Fwww.ithome.com\u002F"},{name:"工联网",url:"http:\u002F\u002Fwww.iitime.com.cn\u002F"},{name:"极客公园",url:"https:\u002F\u002Fwww.geekpark.net\u002F"},{name:"236视频会议",url:"https:\u002F\u002Fwww.263.net\u002F"},{name:"中国IDC圈",url:"http:\u002F\u002Fwww.idcquan.com\u002F"},{name:"企业网D1Net",url:"http:\u002F\u002Fwww.d1net.com\u002F"},{name:"投资界",url:"https:\u002F\u002Fwww.pedaily.cn\u002F"},{name:"次方元",url:"https:\u002F\u002Fmetafun-space.com\u002F"},{name:"火山引擎",url:"https:\u002F\u002Fwww.volcengine.com\u002F"}]},topiclist:{topicList:[],total_count:c},user:{islogin:d,user_id:a,avatar:a,nickname:a}},serverRendered:m,routePath:"\u002Farticle\u002F255955.html",config:{_app:{basePath:ab,assetsPath:ab,cdnURL:"https:\u002F\u002Fs5-media.\u002Fcms\u002Fclient\u002F"}}}}("",1,0,false,5,3,2,4,9,6,7,"开发",true,781342,8,"CTO训练营","鸿蒙开发者社区","大数据","是中国知名的数字化人才学习平台和技术社区,以服务一亿数字化人才职业成长为己任,对中国数千万数字化人才拥有强大的影响力和服务能力。通过技术社区、技术博客和新媒体矩阵等综合产品服务体系,凝聚了2000万+IT技术人员、50万+位技术博主和近千家IT公司的CTO;通过丰富且高质量的IT技术在线教育资源,完整覆盖就业培训、在职提升、认证考试等职业教育领域,分别打造企业培训、个人提升创新产品矩阵,服务IT人才成长。同时,作为华为鸿蒙操作系统合作伙伴,承担了鸿蒙官方技术社区的运营,全力服务于鸿蒙开发者生态。","Techplur","https:\u002F\u002Fblog.\u002F","https:\u002F\u002Fb.\u002Findex?utm_source=hometop",10,"https:\u002F\u002Fwww.\u002Fdeveloper","后端","Ibatis",59,781421,"https:\u002F\u002Fwww.","https:\u002F\u002Fwww.\u002Fspecials","https:\u002F\u002Fedu.\u002F","内容中心是优质技术内容的创造和运营平台,始终保持敏锐的技术洞察力,探索IT技术发展趋势,聚焦前沿技术应用场景落地,秉持创新、深度、专业、多元的原则,内容覆盖主流技术方向,以文章、视频、直播、沙龙、大会等不同形式,为技术人员提供优质内容和服务,赋能全球技术人员成长","内容中心,技术媒体,在线教育,视频课程,企业培训,鸿蒙社区,开发者社区,资讯,职场,技术博客,软考,认证考试,开发,编程语言,物联网,HarmonyOS,人工智能,大数据,国产化,软件开发,网络,系统,操作系统,运维,安全,存储,数据库,企业解决方案,华为","技术编辑,编辑,技术媒体,在线教育,视频课程,企业培训,鸿蒙社区,开发者社区,资讯,职场,技术博客,软考,认证考试,开发,编程语言,物联网,HarmonyOS,人工智能,大数据,国产化,软件开发,网络,系统,操作系统,运维,安全,存储,数据库,企业解决方案,华为","技术精选,技术特刊,技术媒体,在线教育,视频课程,企业培训,鸿蒙社区,开发者社区,资讯,职场,技术博客,软考,认证考试,开发,编程语言,物联网,HarmonyOS,人工智能,大数据,国产化,软件开发,网络,系统,操作系统,运维,安全,存储,数据库,企业解决方案,华为","人工智能","元宇宙","开源","安全",31,"内容精选","短视频","https:\u002F\u002Fedu.\u002Fvideolist\u002Findex.html?utm_platform=pc&utm_medium=51cto&utm_source=zhuzhan&utm_content=dh",11,12,"软考资讯","https:\u002F\u002Fedu.\u002Frk\u002F","企业培训","https:\u002F\u002Fx.\u002F?www","直播","","学堂","博客","CIOAge","https:\u002F\u002Fwww.\u002Ftechplur","\u002F"));</script><script src="https://s5-media./cms/client/53a96fb.js" defer></script><script src="https://s5-media./cms/client/46fe5d7.js" defer></script><script src="https://s5-media./cms/client/d8ad24d.js" defer></script><script src="https://s5-media./cms/client/54fc689.js" defer></script><script src="https://s5-media./cms/client/818d14a.js" defer></script><script src="https://s5-media./cms/client/eb7e622.js" defer></script><script src="https://s5-media./cms/client/7e899c2.js" defer></script><script src="https://s5-media./cms/client/3e17d1c.js" defer></script><script src="https://s5-media./cms/client/5b725ae.js" defer></script><script src="https://s5-media./cms/client/4f15cc7.js" defer></script><script src="https://s5-media./cms/client/3a03453.js" defer></script><script src="https://s5-media./cms/client/960d524.js" defer></script><script src="https://s5-media./cms/client/b0b1898.js" defer></script><script src="https://s5-media./cms/client/e8504c3.js" defer></script><script src="https://s5-media./cms/client/0efe247.js" defer></script><script src="https://s5-media./cms/client/db7a1e7.js" defer></script><script src="https://s5-media./cms/client/d19debc.js" defer></script><script src="https://s5-media./cms/client/3680d48.js" defer></script><script src="https://s5-media./cms/client/b5de2e6.js" defer></script><script src="https://s5-media./cms/client/a51beae.js" defer></script><script src="https://s5-media./cms/client/a935392.js" defer></script><script src="https://s5-media./cms/client/79d2904.js" defer></script><script src="https://s5-media./cms/client/345e257.js" defer></script><script src="https://s5-media./cms/client/a987fe9.js" defer></script> </body> </html>
版权声明:
作者:后浪云
链接:https://www.idc.net/help/386945/
文章版权归作者所有,未经允许请勿转载。
THE END