转载

关于 MySQL 和 MyBatis 易错的几个点

由于某些不可抗拒力原因,自从开博以来断更了一个月,昨天晚上突然发现竟然解封了,今天立即写一篇小文章感谢党感谢政府感谢人民。话说,这一周有一个实习的同学,在写一个小东西的时候,发现一个问题,排序没有生效,刚好之前我也看过另外一个问题,现在算是总结一下。

1. ORDER BY 不生效

代码大概就是:

SELECT * FROM t ORDER BY "id DESC";

我们其实可以很明显的看出来这个 SQL 有问题,ORDER BY 的后面多了引号,关键是这个 SQL 报错吗?如果 id 是随便写的一个不存在的列报错吗?答案是都不报错,排序也不生效,大家可以测试一些,这有时候就比较坑了,具体为什么会出现这个错误,后面再说,先说第二个。

2. 分页问题

代码如下:

/**
     * 开始页码
     */
    private String pageSize;
    /**
     * 分页量
     */
    private String offset;


    <if test="pageSize != null">
      <if test="offset != null">
        limit #{offset}, #{pageSize}
      </if>
      <if test="offset == null">
        limit #{pageSize}
      </if>
    </if>

这个错误就比较明显了,一般人也不会犯,为什么要单独说一下呢?因为某同事说,分页用 # 会出错,但是我记得我一直用 # 没问题啊,刚好在遇到上面这个问题的时候,顺便测试了一些,还真有错,奇怪啊,其实原因很简单,就是分页的对象的属性有误,我们知道分页的属性,一般都是用 Integer,这个地方却写了 String,真是没事找事啊,一般谁会这么写?个人认为除非脑子有病。下面看第三个问题,也是一个比较诡异的问题。

3. UPDATE

UPDATE t SET username = "BridgeLi" AND passwd = "BridgeLi" WHERE id = 1;

这个 SQL 有问题吗?会报错吗?这个问题有时候真不太看得出来,其实也很明显,SET 后面的各个列应该是 “,” 相连,而这个用的是 AND,有时候脑子一抽,还真有可能写错。但是会报错吗?这个问题还真不好答复,因为这个 SQL 这么写,相当于:

UPDATE t SET username = ("BridgeLi" AND passwd = "BridgeLi") WHERE id = 1;

所以就是这个 SQL 有错吗?看网上说的这个是不报错的,但是经过我的测试,和 username 类型相关,username 是 varchar 类型就会报错,是 int 类型就不会(我没有很严格的测试,总之有不报错的情况,就够了,因为那个时候脑子抽了,不报错,大概率的自己一时半会看不出来),至于这个 username 被更新成了什么,我想大家也可以猜出来,取决于 id 为 1 的行,passwd 这一列的值,然后相与计算。

说完了,这三个报错,说一下为什么会出现这些问题,其实 3 很简单,就是脑子一抽写错了,这个没啥说的;1 和 2 也其实是一个问题,就是对 mybatis 不熟啊,简单说一下。

1. 对于 #{variable} 的变量,mybatis 会将其视为字符串值,在变量替换成功后,缺省地给变量值加上引号:”variable”;

2. 对于 ${variable} 的变量,mybatis 会将其视作直接变量,即在变量替换成功后,不会再给其加上引号:variable

所以在 order by ${name} 中,传入的直接是 name ,不带双引号,因为 order by 不是 = 赋值,如果直接 order by #{name},结果是 order by “name”,自然就不行了

总结,#{variable} 传入字符串,可以在日志查看到传入的参数,需要赋值后使用,可以有效防止 SQL 注入,${variable} 是直接传入变量,在日志查看不到传入的变量,直接在 SQL 中执行,无法防止 SQL 注入,所以,尽量用 #{variable} 格式,但如果不是类似 = 赋值后再使用的 SQL,需要使用 ${variable}。另外网上还说有]]&gt;内需要注意 # 与 $ 的区别,没有太在意过,一般都是和 大于小于 混用的时候,偶尔会写他,不写也不会报错,大家可以自己测试一下。</p> <p>最后说一下,有同学提到 $ 有 SQL 注入问题啊,你上面也说,我个人的理解就是 SQL 注入都是使你的 WHERE 子句为真,ORDER BY 有什么影响吗?没有啊,所以这个问题并不需要考虑。</p> <div id="postCopyright" style="text-align:left;font-weight:bolder;font-size:110%;font-family:Arial,'Microsoft YaHei',Verdana;color:#c00;margin:0px 0 10px 0;"> 全文完,如果本文对您有所帮助,请花 1 秒钟帮忙点击一下广告,谢谢。<br/><br/> 作 者:<a class="title" href="https://www.bridgeli.cn/" target="_blank"> BridgeLi,https://www.bridgeli.cn</a><br/> 原文链接:<a class="title" href="https://www.bridgeli.cn/archives/621" target="_blank"title="BridgeLi's Blog-关于 MySQL 和 MyBatis 易错的几个点">https://www.bridgeli.cn/archives/621</a><br/> 版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。 </div> <div class="fixed"></div> </div> <div class="under"> <span class="categories">分类: </span><span><a href="https://www.bridgeli.cn/archives/category/java" rel="category tag">Java</a></span> <span class="tags">标签: </span><span><a href="https://www.bridgeli.cn/archives/tag/mybatis" rel="tag">mybatis</a>, <a href="https://www.bridgeli.cn/archives/tag/mysql" rel="tag">MySQL</a></span> </div> </div> <!-- related posts START --> <!-- related posts END --> <script type="text/javascript" src="https://www.bridgeli.cn/wp-content/themes/inove/js/comment.js"></script> <div id="comments"> <div id="cmtswitcher"> <a id="commenttab" class="curtab" href="javascript:void(0);">评论 (0)</a> <span class="addcomment"><a href="#respond">发表评论</a></span> <div class="fixed"></div> </div> <div id="commentlist"> <!-- comments START --> <ol id="thecomments"> <li class="messagebox"> 本文目前尚无任何评论. </li> </ol> <!-- comments END --> <!-- trackbacks START --> <div class="fixed"></div> <!-- trackbacks END --> </div> </div> <form action="https://www.bridgeli.cn/wp-comments-post.php" method="post" id="commentform"> <div id="respond"> <div id="author_info"> <div class="row"> <input type="text" name="author" id="author" class="textfield" value="" size="24" tabindex="1" /> <label for="author" class="small">昵称 (必填)</label> </div> <div class="row"> <input type="text" name="email" id="email" class="textfield" value="" size="24" tabindex="2" /> <label for="email" class="small">电子邮箱 (我们会为您保密) (必填)</label> </div> <div class="row"> <input type="text" name="url" id="url" class="textfield" value="" size="24" tabindex="3" /> <label for="url" class="small">网址</label> </div> </div> <!-- comment input --> <div class="row"> <textarea name="comment" id="comment" tabindex="4" rows="8" cols="50"></textarea> </div> <!-- comment submit and rss --> <div id="submitbox"> <a class="feed" href="https://www.bridgeli.cn/comments/feed">订阅评论</a> <div class="submitbutton"> <input name="submit" type="submit" id="submit" class="button" tabindex="5" value="提交评论" /> </div> <input type="hidden" name="comment_post_ID" value="621" /> <div class="fixed"></div> </div> </div> <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="bc41b23db0" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="222"/></p><p class="cptch_block"><script class="cptch_to_remove"> (function( timeout ) { setTimeout( function() { var notice = document.getElementById("cptch_time_limit_notice_80"); if ( notice ) notice.style.display = "block"; }, timeout ); })(120000); </script> <span id="cptch_time_limit_notice_80" class="cptch_time_limit_notice cptch_to_remove">请输入正确的验证码</span><span class="cptch_wrap cptch_math_actions"> <label class="cptch_label" for="cptch_input_80"><span class="cptch_span">八</span> <span class="cptch_span">&nbsp;&times;&nbsp;</span> <span class="cptch_span">1</span> <span class="cptch_span">&nbsp;=&nbsp;</span> <span class="cptch_span"><input id="cptch_input_80" class="cptch_input cptch_wp_comments" type="text" autocomplete="off" name="cptch_number" value="" maxlength="2" size="2" aria-required="true" required="required" style="margin-bottom:0;display:inline;font-size: 12px;width: 40px;" /></span> <input type="hidden" name="cptch_result" value="jRg=" /><input type="hidden" name="cptch_time" value="1562570073" /> <input type="hidden" name="cptch_form" value="wp_comments" /> </label><span class="cptch_reload_button_wrap hide-if-no-js"> <noscript> <style type="text/css"> .hide-if-no-js { display: none !important; } </style> </noscript> <span class="cptch_reload_button dashicons dashicons-update"></span> </span></span></p> </form> <div id="postnavi"> <span class="prev"></span> <span class="next"><a href="https://www.bridgeli.cn/archives/618" rel="prev">Redis GeoHash 的一个小示例</a></span> <div class="fixed"></div> </div> </div> <!-- main END --> <!-- sidebar START --> <div id="sidebar"> <!-- sidebar north START --> <div id="northsidebar" class="sidebar"> <!-- feeds --> <div class="widget widget_feeds"> <div class="content"> <div id="subscribe"> <a rel="external nofollow" id="feedrss" title="订阅这个博客的文章" href="https://www.bridgeli.cn/feed">订阅</a> <ul id="feed_readers"> <li id="google_reader"><a rel="external nofollow" class="reader" title="订阅到 Google" href="http://fusion.google.com/add?feedurl=https://www.bridgeli.cn/feed"><span> Google</span></a></li> <li id="youdao_reader"><a rel="external nofollow" class="reader" title="订阅到有道" href="http://reader.youdao.com/#url=https://www.bridgeli.cn/feed"><span>有道</span></a></li> <li id="xianguo_reader"><a rel="external nofollow" class="reader" title="订阅到鲜果" href="http://www.xianguo.com/subscribe.php?url=https://www.bridgeli.cn/feed"><span>鲜果</span></a></li> <li id="zhuaxia_reader"><a rel="external nofollow" class="reader" title="订阅到抓虾" href="http://www.zhuaxia.com/add_channel.php?url=https://www.bridgeli.cn/feed"><span>抓虾</span></a></li> <li id="yahoo_reader"><a rel="external nofollow" class="reader" title="订阅到 My Yahoo!" href="http://add.my.yahoo.com/rss?url=https://www.bridgeli.cn/feed"><span> My Yahoo!</span></a></li> <li id="newsgator_reader"><a rel="external nofollow" class="reader" title="订阅到 newsgator" href="http://www.newsgator.com/ngs/subscriber/subfext.aspx?url=https://www.bridgeli.cn/feed"><span> newsgator</span></a></li> <li id="bloglines_reader"><a rel="external nofollow" class="reader" title="订阅到 Bloglines" href="http://www.bloglines.com/sub/https://www.bridgeli.cn/feed"><span> Bloglines</span></a></li> <li id="inezha_reader"><a rel="external nofollow" class="reader" title="订阅到哪吒" href="http://inezha.com/add?url=https://www.bridgeli.cn/feed"><span>哪吒</span></a></li> </ul> </div> <div class="fixed"></div> </div> </div> <!-- showcase --> <div id="text-2" class="widget widget_text"> <div class="textwidget"><p align="center" style="background-color: #777;padding: 5px;color: white;font-weight: bold;border: solid 1px black;text-shadow: 0px 0px 3px black;">访问 <a href="https://www.bridgeli.cn/404/" target="_blank" style="color: #FFE249;">本站404页面</a> 寻找遗失儿童!</p></div> </div><div id="recent-comments-2" class="widget widget_recent_comments"><h3>近期评论</h3><ul id="recentcomments"><li class="recentcomments"><span class="comment-author-link"><a href='https://www.bridgeli.cn' rel='external nofollow' class='url'>Bridge Li</a></span>发表在《<a href="https://www.bridgeli.cn/about#comment-366">关于博主</a>》</li><li class="recentcomments"><span class="comment-author-link"><a href='https://www.yukunweb.com' rel='external nofollow' class='url'>银时</a></span>发表在《<a href="https://www.bridgeli.cn/about#comment-365">关于博主</a>》</li><li class="recentcomments"><span class="comment-author-link">komac</span>发表在《<a href="https://www.bridgeli.cn/about#comment-363">关于博主</a>》</li><li class="recentcomments"><span class="comment-author-link">XRumerTest</span>发表在《<a href="https://www.bridgeli.cn/archives/166#comment-285">Spring加Mybatis实现MySQL数据库主从读写分离</a>》</li><li class="recentcomments"><span class="comment-author-link"><a href='http://www.baidu.com' rel='external nofollow' class='url'>test</a></span>发表在《<a href="https://www.bridgeli.cn/archives/259#comment-251">MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 2 无效</a>》</li></ul></div><div id="categories-2" class="widget widget_categories"><h3>分类目录</h3> <ul> <li class="cat-item cat-item-2"><a href="https://www.bridgeli.cn/archives/category/android" >Android</a> (7) </li> <li class="cat-item cat-item-3"><a href="https://www.bridgeli.cn/archives/category/java" >Java</a> (80) </li> <li class="cat-item cat-item-4"><a href="https://www.bridgeli.cn/archives/category/linux" >Linux</a> (2) </li> <li class="cat-item cat-item-5"><a href="https://www.bridgeli.cn/archives/category/maven-2" >Maven</a> (5) </li> <li class="cat-item cat-item-6"><a href="https://www.bridgeli.cn/archives/category/mysql" >MySQL</a> (5) </li> <li class="cat-item cat-item-135"><a href="https://www.bridgeli.cn/archives/category/redis-2" >Redis</a> (4) </li> <li class="cat-item cat-item-7"><a href="https://www.bridgeli.cn/archives/category/scm-2" >SCM</a> (4) </li> <li class="cat-item cat-item-163"><a href="https://www.bridgeli.cn/archives/category/nijiaben-jvm" >你假笨说JVM参数</a> (7) </li> <li class="cat-item cat-item-8"><a href="https://www.bridgeli.cn/archives/category/full-text-index" >全文索引</a> (4) </li> <li class="cat-item cat-item-168"><a href="https://www.bridgeli.cn/archives/category/others" >其他</a> (2) </li> <li class="cat-item cat-item-9"><a href="https://www.bridgeli.cn/archives/category/bigdata" >大数据</a> (1) </li> <li class="cat-item cat-item-10"><a href="https://www.bridgeli.cn/archives/category/workflow" >工作流</a> (3) </li> <li class="cat-item cat-item-11"><a href="https://www.bridgeli.cn/archives/category/wechat" >微信</a> (3) </li> <li class="cat-item cat-item-12"><a href="https://www.bridgeli.cn/archives/category/ci-2" >持续集成</a> (2) </li> <li class="cat-item cat-item-13"><a href="https://www.bridgeli.cn/archives/category/designpattern" >设计模式</a> (5) </li> </ul> </div> <div id="recent-posts-2" class="widget widget_recent_entries"> <h3>近期文章</h3> <ul> <li> <a href="https://www.bridgeli.cn/archives/621">关于 MySQL 和 MyBatis 易错的几个点</a> </li> <li> <a href="https://www.bridgeli.cn/archives/618">Redis GeoHash 的一个小示例</a> </li> <li> <a href="https://www.bridgeli.cn/archives/616">分享 Guava 的一些常见方法</a> </li> <li> <a href="https://www.bridgeli.cn/archives/614">关于 CAP 理论 和 BASE 理论</a> </li> <li> <a href="https://www.bridgeli.cn/archives/606">小议服务器命名</a> </li> </ul> </div> <div id="archives-2" class="widget widget_archive"><h3>文章归档</h3> <ul> <li><a href='https://www.bridgeli.cn/archives/date/2019/07'>2019年七月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2019/05'>2019年五月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2019/04'>2019年四月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2019/03'>2019年三月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2019/02'>2019年二月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2019/01'>2019年一月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/12'>2018年十二月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/11'>2018年十一月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/10'>2018年十月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/09'>2018年九月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/08'>2018年八月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/07'>2018年七月</a>&nbsp;(3)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/06'>2018年六月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/05'>2018年五月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/04'>2018年四月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/03'>2018年三月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/02'>2018年二月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2018/01'>2018年一月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/12'>2017年十二月</a>&nbsp;(4)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/11'>2017年十一月</a>&nbsp;(3)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/10'>2017年十月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/09'>2017年九月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/08'>2017年八月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/07'>2017年七月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/06'>2017年六月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/05'>2017年五月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/04'>2017年四月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/03'>2017年三月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/02'>2017年二月</a>&nbsp;(3)</li> <li><a href='https://www.bridgeli.cn/archives/date/2017/01'>2017年一月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/12'>2016年十二月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/11'>2016年十一月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/10'>2016年十月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/09'>2016年九月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/08'>2016年八月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/07'>2016年七月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/06'>2016年六月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/05'>2016年五月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/04'>2016年四月</a>&nbsp;(3)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/03'>2016年三月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/02'>2016年二月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2016/01'>2016年一月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/12'>2015年十二月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/11'>2015年十一月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/10'>2015年十月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/09'>2015年九月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/08'>2015年八月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/07'>2015年七月</a>&nbsp;(1)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/06'>2015年六月</a>&nbsp;(2)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/05'>2015年五月</a>&nbsp;(5)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/04'>2015年四月</a>&nbsp;(4)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/03'>2015年三月</a>&nbsp;(5)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/02'>2015年二月</a>&nbsp;(3)</li> <li><a href='https://www.bridgeli.cn/archives/date/2015/01'>2015年一月</a>&nbsp;(4)</li> <li><a href='https://www.bridgeli.cn/archives/date/2014/12'>2014年十二月</a>&nbsp;(4)</li> <li><a href='https://www.bridgeli.cn/archives/date/2014/11'>2014年十一月</a>&nbsp;(5)</li> <li><a href='https://www.bridgeli.cn/archives/date/2014/10'>2014年十月</a>&nbsp;(4)</li> <li><a href='https://www.bridgeli.cn/archives/date/2014/09'>2014年九月</a>&nbsp;(9)</li> <li><a href='https://www.bridgeli.cn/archives/date/2014/08'>2014年八月</a>&nbsp;(8)</li> </ul> </div><div id="text-3" class="widget widget_text"> <div class="textwidget"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- GoogleAd --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5992006569235012" data-ad-slot="1202050281" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> </div></div> <!-- sidebar north END --> <!-- sidebar south START --> <!-- sidebar south END --> </div> <!-- sidebar END --> <div class="fixed"></div> </div> <!-- content END --> <!-- footer START --> <div id="footer"> <a id="gotop" href="#" onclick="MGJS.goTop();return false;">回到顶部</a> <a id="powered" href="http://wordpress.org/">WordPress</a> <div id="copyright"> 版权所有 &copy; 2014-2019 BridgeLi&#039;s Blog </div> <div id="themeinfo"> 主题由 <a href="http://www.neoease.com/">NeoEase</a> 提供, 通过 <a href="http://validator.w3.org/check?uri=referer">XHTML 1.1</a> 和 <a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3">CSS 3</a> 验证. </div> </div> <!-- footer END --> </div> <!-- container END --> </div> <!-- wrap END --> <!-- Powered by WPtouch: 4.3.21 --><script type='text/javascript' src='https://www.bridgeli.cn/wp-content/plugins/akismet/_inc/form.js?ver=3.3'></script> <script type='text/javascript' src='https://www.bridgeli.cn/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js?ver=3.0.9b'></script> <script type='text/javascript' src='https://www.bridgeli.cn/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPhp.js?ver=3.0.9b'></script> <script type='text/javascript'> (function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "https://www.bridgeli.cn/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.9b"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.getElementsByTagName("head")[0].insertBefore( corecss, document.getElementById("syntaxhighlighteranchor") ); var themecssurl = "https://www.bridgeli.cn/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css?ver=3.0.9b"; if ( themecss.setAttribute ) { themecss.setAttribute( "rel", "stylesheet" ); themecss.setAttribute( "type", "text/css" ); themecss.setAttribute( "href", themecssurl ); } else { themecss.rel = "stylesheet"; themecss.href = themecssurl; } //document.getElementById("syntaxhighlighteranchor").appendChild(themecss); document.getElementsByTagName("head")[0].insertBefore( themecss, document.getElementById("syntaxhighlighteranchor") ); })(); SyntaxHighlighter.config.strings.expandSource = '+ expand source'; SyntaxHighlighter.config.strings.help = '帮助'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter/n/n'; SyntaxHighlighter.config.strings.noBrush = '无法找到Brush:'; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Brush不能设置 html-script选项'; SyntaxHighlighter.defaults['pad-line-numbers'] = false; SyntaxHighlighter.defaults['toolbar'] = false; SyntaxHighlighter.all(); </script> <script type='text/javascript' src='https://www.bridgeli.cn/wp-includes/js/wp-embed.min.js?ver=4.7.4'></script> <script type='text/javascript' src='https://www.bridgeli.cn/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script> <script type='text/javascript' src='https://www.bridgeli.cn/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script> <script type='text/javascript'> /* <![CDATA[ */ var cptch_vars = {"nonce":"f2985dee76","ajaxurl":"https:////www.bridgeli.cn//wp-admin//admin-ajax.php","enlarge":""}; /**/

原文  https://www.bridgeli.cn/archives/621
正文到此结束
Loading...