??xml version="1.0" encoding="utf-8" standalone="yes"?>视频在线一区,午夜视频在线观看韩国,欧美wwwwwwhttp://www.aygfsteel.com/peacess/category/11157.htmlzh-cnThu, 26 Jul 2007 16:45:47 GMTThu, 26 Jul 2007 16:45:47 GMT60清空数据库数据(表)的一个解x?/title><link>http://www.aygfsteel.com/peacess/archive/2006/11/09/80208.html</link><dc:creator>中东</dc:creator><author>中东</author><pubDate>Thu, 09 Nov 2006 09:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/peacess/archive/2006/11/09/80208.html</guid><wfw:comment>http://www.aygfsteel.com/peacess/comments/80208.html</wfw:comment><comments>http://www.aygfsteel.com/peacess/archive/2006/11/09/80208.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.aygfsteel.com/peacess/comments/commentRss/80208.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/peacess/services/trackbacks/80208.html</trackback:ping><description><![CDATA[ <br />     在做数据库开发中Q经帔R要清I(deleteQ数据或删除QdropQ所有的表。然而,外键的存在,l这个工作带来了很大的不ѝ这里用jdbc写一个通用的类Q生出清空或删除表的顺序?br />以下代码在mysql与oracle下面q行正常<br /><br />(在同行的下作了一些改q,又增加了一些功能,见类注释)<br />代码Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">package createData.tryDemo;<br /><br />import java.sql.Connection;<br />import java.sql.DatabaseMetaData;<br />import java.sql.ResultSet;<br />import java.sql.SQLException;<br />import java.sql.Statement;<br />import java.util.ArrayList;<br />import java.util.Iterator;<br />import java.util.List;<br /><br />/**<br /> * 外键工具<br /> * 1Q返回清I(删除Q数据库表的先后序<br /> * 2Q找出数据库中的外键?br /> * 3Q找出数据库中的对同一个表的重复外键关?br /> * <br /> * 注:(x)外键环(不知道在数据库中Q对此情冉|没有别的命名Q?br /> *  情况1Q外键表是自?Q自外键环、小外键环、单外键环)<br /> *  情况2QaTable的外键表是bTableQ而bTable的外键表又是aTableQ双外键环)<br /> *  情况3Q就是多个表之间形成的外键环Q多外键环)<br /> * @author wpeace<br /> *<br /> */<br />public class ExportedKeysTools<br />{<br />    public static void main(String[] args)<br />    {<br />        //得到一个数据库的连接,q里׃l说?br />        Connection connection = null;<br />        <br />        List<String> tables = ExportedKeysTools.getDeleteOrder(connection);<br />        <br />        System.out.print(tables);<br />        //清空数据,以oracleZ<br />        StringBuilder scrip = new StringBuilder();<br />        for(String it : tables)<br />        {<br />            scrip.append(String.format("delete from %s;\r\n", it));<br />        }<br />        System.out.print(scrip);<br />        //删除所有表,以oracleZ<br />        <br />        for(String it : tables)<br />        {<br />            scrip.append(String.format("drop table %s;\r\n", it));<br />        }<br />        System.out.print(scrip);<br />        <br />        //提示关闭q接Q!Q?br /><br />    }<br />    public static List<String> getDeleteOrder(Connection connection)<br />    {<br />        String userName = null;<br />        try<br />        {<br />            userName = connection.getMetaData().getUserName();<br />        }<br />        catch (SQLException e)<br />        {<br />            e.printStackTrace();<br />        }<br />        return ExportedKeysTools.getDeleteOrder(connection, userName);<br />    }<br />    /**<br />     * q回清空Q删除)数据库表的先后顺?br />     * @param connection jdbcq接<br />     * @param userName 如果为null的话Q在oracle数据库下面是所有的用户的所有表?br />     * 在mysql下是当前用用L(fng)Q这个与数据库厂商的jdbc驱动有关p?br />     * @return q回清空Q删除)数据库表的先后顺?br />     */<br />    public static List<String> getDeleteOrder(Connection connection,String userName)<br />    {<br />        ResultSet reTables = null;<br />        ResultSet refk = null;<br />        try<br />        {<br />            DatabaseMetaData dm = connection.getMetaData();<br />            //如果是oracle数据库的话,清空闪回?br />            if(dm.getDatabaseProductName().toUpperCase().indexOf("ORACLE")>=0)<br />            {<br />                Statement state = connection.createStatement();<br />                state.execute("PURGE RECYCLEBIN");<br />                state.close();<br />            }<br />            //取得?br />            reTables = dm.getTables(null, userName, null, new String[]{"TABLE","VIEW"});<br />            List<TableMeta> tableMetaList = new ArrayList<TableMeta>();<br />            while(reTables.next())<br />            {<br />                String tableName = reTables.getString("TABLE_NAME").trim(); <br />                if(tableName == null || tableName.length()<1)<br />                {<br />                    continue;<br />                }<br />                TableMeta tem = new TableMeta(tableName);<br />                tableMetaList.add(tem);<br />                //取得外键?br />                refk = dm.getExportedKeys(null, userName, tableName);<br />                while(refk.next())<br />                {<br />                    String fkTableName = refk.getString("FKTABLE_NAME").trim();<br />                    if(fkTableName == null || fkTableName.length() < 1 ||<br />                            fkTableName.equals(tableName)) //Ld键是自己的小?br />                    {<br />                        continue;<br />                    }<br />                    tem.addFK(fkTableName);<br />                }<br />                if(refk != null)refk.close();<br />            }<br />            <br />            Iterator<TableMeta> iterator = tableMetaList.iterator();<br />            TableMeta tableMeta = iterator.next();<br />            List<String> deleteOrder = new ArrayList<String>();<br />            int counts = tableMetaList.size();<br />            for(;true;)<br />            {<br />                //没有外键?br />                if(!tableMeta.isFKTable())<br />                {<br />                    iterator.remove();<br />                    deleteOrder.add(tableMeta.tableName);<br />                    <br />                    //清除表所使用的所有外键表<br />                    for(TableMeta it : tableMetaList)<br />                    {<br />                        it.deleteFK(tableMeta.tableName);<br />                    }<br />                }<br /><br />                if(!iterator.hasNext())<br />                {<br />                    //一ơ@环完成后Q如果tableMeta的长度(也不为零Q没有减,<br />                    //那么说明在tableMeta中的表之间有循环外键兌的“环”,要退出整个@?br />                    //不然此处׃(x)有一个死循环Q此时在tableMeta中的表的设计也许是有问题?br />                    //如果要分?br />                    if(tableMetaList.size() == counts || tableMetaList.size() < 1)<br />                    {<br />                        break;<br />                    }<br />                    iterator = tableMetaList.iterator();<br />                }<br />                tableMeta = iterator.next();<br />            }<br />           return deleteOrder;<br />        }<br />        catch (SQLException e)<br />        {<br />            if(refk != null)<br />                try<br />                {<br />                    refk.close();<br />                }<br />                catch (SQLException e1)<br />                {<br />                    e1.printStackTrace();<br />                }<br />            if(reTables != null)<br />                try<br />                {<br />                    reTables.close();<br />                }<br />                catch (SQLException e1)<br />                {<br />                    e1.printStackTrace();<br />                }<br />            e.printStackTrace();<br />        }<br />        return null;<br />    }<br />    /**<br />     * q回外键?br />     * @param connection q接<br />     * @param userName 用户名,可以为空<br />     * @return q回外键?br />     */<br />    public static List<String> getExportedKeysLoop(Connection connection,String userName)<br />    {<br />        ResultSet reTables = null;<br />        ResultSet refk = null;<br />        try<br />        {<br />            DatabaseMetaData dm = connection.getMetaData();<br />            //如果是oracle数据库的话,清空闪回?br />            if(dm.getDatabaseProductName().toUpperCase().indexOf("ORACLE")>=0)<br />            {<br />                Statement state = connection.createStatement();<br />                state.execute("PURGE RECYCLEBIN");<br />                state.close();<br />            }<br />            //取得?br />            reTables = dm.getTables(null, userName, null, new String[]{"TABLE","VIEW"});<br />            List<TableMeta> tableMetaList = new ArrayList<TableMeta>();<br />            while(reTables.next())<br />            {<br />                String tableName = reTables.getString("TABLE_NAME").trim(); <br />                if(tableName == null || tableName.length()<1)<br />                {<br />                    continue;<br />                }<br />                TableMeta tem = new TableMeta(tableName);<br />                tableMetaList.add(tem);<br />                //取得外键?br />                refk = dm.getExportedKeys(null, userName, tableName);<br />                while(refk.next())<br />                {<br />                    String fkTableName = refk.getString("FKTABLE_NAME").trim();<br />                    if(fkTableName == null || fkTableName.length() < 1 ||<br />                            fkTableName.equals(tableName)) //Ld键是自己的小?br />                    {<br />                        continue;<br />                    }<br />                    tem.addFK(fkTableName);<br />                }<br />                if(refk != null)refk.close();<br />            }<br />            <br />            Iterator<TableMeta> iterator = tableMetaList.iterator();<br />            TableMeta tableMeta = iterator.next();<br />            List<String> exportedKeysLoop = new ArrayList<String>();<br />            int counts = tableMetaList.size();<br />            for(;true;)<br />            {<br />                //没有外键?br />                if(!tableMeta.isFKTable())<br />                {<br />                    iterator.remove();                    <br />                    //清除表所使用的所有外键表<br />                    for(TableMeta it : tableMetaList)<br />                    {<br />                        it.deleteFK(tableMeta.tableName);<br />                    }<br />                }<br /><br />                if(!iterator.hasNext())<br />                {<br />                    //一ơ@环完成后Q如果tableMeta的长度(也不为零Q没有减,<br />                    //那么说明在tableMeta中的表之间有循环外键兌的“环”,要退出整个@?br />                    //不然此处׃(x)有一个死循环Q此时在tableMeta中的表的设计也许是有问题?br />                    //如果要分?br />                    if(tableMetaList.size() == counts || tableMetaList.size() < 1)<br />                    {<br />                        for(TableMeta it : tableMetaList)<br />                        {<br />                            exportedKeysLoop.add(it.tableName);<br />                        }<br />                        break;<br />                    }<br />                    iterator = tableMetaList.iterator();<br />                }<br />                tableMeta = iterator.next();<br />            }<br />           return exportedKeysLoop;<br />        }<br />        catch (SQLException e)<br />        {<br />            if(refk != null)<br />                try<br />                {<br />                    refk.close();<br />                }<br />                catch (SQLException e1)<br />                {<br />                    e1.printStackTrace();<br />                }<br />            if(reTables != null)<br />                try<br />                {<br />                    reTables.close();<br />                }<br />                catch (SQLException e1)<br />                {<br />                    e1.printStackTrace();<br />                }<br />            e.printStackTrace();<br />        }<br />        return null;<br />    }<br />    /**<br />     * 有重复外键的?br />     * @param connection q接<br />     * @param userName 用户名,可以为空<br />     * @return 有重复外键的?br />     */<br />    public static List<String> getRepeatExportedKeys(Connection connection,String userName)<br />    {<br />        ResultSet reTables = null;<br />        ResultSet refk = null;<br />        try<br />        {<br />            DatabaseMetaData dm = connection.getMetaData();<br />            //如果是oracle数据库的话,清空闪回?br />            if(dm.getDatabaseProductName().toUpperCase().indexOf("ORACLE")>=0)<br />            {<br />                Statement state = connection.createStatement();<br />                state.execute("PURGE RECYCLEBIN");<br />                state.close();<br />            }<br />            <br />            List<String> repeatExportedKeys = new ArrayList<String>();<br />            //取得?br />            reTables = dm.getTables(null, userName, null, new String[]{"TABLE","VIEW"});<br />            while(reTables.next())<br />            {<br />                String tableName = reTables.getString("TABLE_NAME").trim(); <br />                if(tableName == null || tableName.length()<1)<br />                {<br />                    continue;<br />                }<br />                TableMeta tem = new TableMeta(tableName);<br />                //取得外键?br />                refk = dm.getExportedKeys(null, userName, tableName);<br />                while(refk.next())<br />                {<br />                    String fkTableName = refk.getString("FKTABLE_NAME").trim();<br />                    if(fkTableName == null || fkTableName.length() < 1)<br />                    {<br />                        continue;<br />                    }<br />                    if(tem.findFK(fkTableName))<br />                    {<br />                        repeatExportedKeys.add(tem.tableName);<br />                        break;<br />                    }<br />                 }<br />                if(refk != null)refk.close();<br />            }<br />           return repeatExportedKeys;<br />        }<br />        catch (SQLException e)<br />        {<br />            if(refk != null)<br />                try<br />                {<br />                    refk.close();<br />                }<br />                catch (SQLException e1)<br />                {<br />                    e1.printStackTrace();<br />                }<br />            if(reTables != null)<br />                try<br />                {<br />                    reTables.close();<br />                }<br />                catch (SQLException e1)<br />                {<br />                    e1.printStackTrace();<br />                }<br />            e.printStackTrace();<br />        }<br />        return null;<br />    }<br />    public static class TableMeta{<br />        //表名<br />        public String tableName;<br />        //外键?br />        private List<String> fkTable = new ArrayList<String>(1);<br />        public TableMeta(String table)<br />        {<br />            this.tableName = table;<br />        }<br />        public boolean findFK(String table)<br />        {<br />            return fkTable.contains(table);<br />        }<br />        public void deleteFK(String table)<br />        {<br />            fkTable.remove(table);<br />        }<br />        //是否存在外键?br />        public boolean isFKTable()<br />        {<br />            return fkTable.size() > 0;<br />        }<br />        public void addFK(String table)<br />        {<br />            //重名处理<br />            if(!findFK(table))<br />            {<br />                fkTable.add(table);<br />            }<br />        }<br />    }<br /><br />}<br /><br /></span><span style="color: rgb(0, 0, 0);"><br /></span></div><br /><br /><br /><br /><img src ="http://www.aygfsteel.com/peacess/aggbug/80208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/peacess/" target="_blank">中东</a> 2006-11-09 17:18 <a href="http://www.aygfsteel.com/peacess/archive/2006/11/09/80208.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>gwt在eclipse、tomcatQ数据库q接池)---tomcat数据q接池(oracle10gQ?/title><link>http://www.aygfsteel.com/peacess/archive/2006/06/29/55778.html</link><dc:creator>中东</dc:creator><author>中东</author><pubDate>Thu, 29 Jun 2006 08:43:00 GMT</pubDate><guid>http://www.aygfsteel.com/peacess/archive/2006/06/29/55778.html</guid><wfw:comment>http://www.aygfsteel.com/peacess/comments/55778.html</wfw:comment><comments>http://www.aygfsteel.com/peacess/archive/2006/06/29/55778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/peacess/comments/commentRss/55778.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/peacess/services/trackbacks/55778.html</trackback:ping><description><![CDATA[tomcat5.5 数据库连接池配置Qoracle10gQ?br><br>注:(x)引用自什么地方的不记得的Q在原来的基上作了大量改变)Q所以没有给出引用的地方<br><br>在webapps下有如下目录l构与文Ӟ如果没有p己徏一个)<br><br>+---tt<br>|   test.jsp<br>|   +---META-INF<br>|   \---WEB-INF<br>|            web.xml<br>|       +---classes<br>|       \---lib<br>        <br><br>1Q把oracle的jdbc驱动Qjdbc14.jarQ对于不同的配置方式驱动可以不一Pq是一个纯java的驱动)<br>   复制到tomcat的目?#8220;common/lin”?br><br>2Q打开文g“conf/server.xml” 加入以下的配|?br>        <Resource<br>      name="jdbc/webEDI"                                                                <br>      type="javax.sql.DataSource"                                    <br>      password="webEDI"                                           登陆数据库的密码    <br>      driverClassName="oracle.jdbc.OracleDriver"            <br>      maxIdle="2"                                                                        <br>      maxWait="5000"                                                                <br>      username="webEDI"                                           数据库的用户?br>      url="jdbc:oracle:thin:@192.168.1.11:1521:KFERP"             数据库的url        <br>      maxActive="4"/><br>    具体Ҏ(gu)一个参数的说明Q见tomcat的帮助文?br>    <br>    q里q有别外的一个方法(要求已经下蝲q|了“admin”Q?br>        A 在浏览器中输?#8220;http://local:8080/admin”,q输入tomcat的密码进入下一界面<br>        B 单击根分支(一定是根分支)下的“resources”<br>        C 单击 “data sources” <br>        D 在右边的“data source actions” 中选择“create new datasource”<br>        E 接下写入正确的内容与上面的手动配|的内容相同<br>        F 保存Q?#8220;save”Q?br>        G 提交改变Q?#8220;commit change”Q?br>    <br>3Q打开文g“conf/context.xml” 加入以下配置<br>            <ResourceLink name="jdbc/webEDI" global="jdbc/webEDI" type="javax.sql.DataSource"/><br>        注意Q?#8220;global”的g定要与步?中配|的“name”的值相同,在本步骤中的“name”值可以自?br><br>4Q修改web应用的配|文?#8220;web.xml”Q加入如下配|?br>        <resource-ref><br>            <res-ref-name>jdbc/webEDI</res-ref-name><br>            <res-type>javax.sql.DataSource</res-type><br>            <res-auth>Container</res-auth><br>        </resource-ref><br><br>5Q编写测试文?#8220;test.jsp” 内容如下<br>        <%@ page contentType="text/html; charset=GBK"%><br><%@ page import="java.sql.*,<br>    javax.naming.*"%><br><% <br>try {<br>    Context initCtx = new InitialContext();<br>    Context ctx = (Context) initCtx.lookup("java:comp/env");<br>    Object obj = (Object) ctx.lookup("jdbc/webEDI"); <br>    javax.sql.DataSource ds = (javax.sql.DataSource)obj;<br>    Connection conn = ds.getConnection();<br>    Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,<br>        java.sql.ResultSet.CONCUR_READ_ONLY);<br>    String strSQL = "SELECT * FROM F_FORECAST_LINE"; <br>    ResultSet rs = stmt.executeQuery(strSQL);<br>    out.println("asdfasdf");<br>      for(;rs.next();)<br>      {<br>          out.println(rs.toString());<br>      }<br>%> <br><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><br><html><br>...<br></html> <br><% <br>    rs.close(); <br>    stmt.close(); <br>    conn.close();<br>} catch (Exception e) {<br>    e.printStackTrace();<br>    throw e;<br>}<br>%><br>        <br>6Q重起动tomcat <br><br>7Q在览器中输入“http://localhost:8080/tt/test.jsp” <img src ="http://www.aygfsteel.com/peacess/aggbug/55778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/peacess/" target="_blank">中东</a> 2006-06-29 16:43 <a href="http://www.aygfsteel.com/peacess/archive/2006/06/29/55778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库设计工具选择与比?/title><link>http://www.aygfsteel.com/peacess/archive/2006/05/16/46328.html</link><dc:creator>中东</dc:creator><author>中东</author><pubDate>Tue, 16 May 2006 01:42:00 GMT</pubDate><guid>http://www.aygfsteel.com/peacess/archive/2006/05/16/46328.html</guid><wfw:comment>http://www.aygfsteel.com/peacess/comments/46328.html</wfw:comment><comments>http://www.aygfsteel.com/peacess/archive/2006/05/16/46328.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/peacess/comments/commentRss/46328.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/peacess/services/trackbacks/46328.html</trackback:ping><description><![CDATA[最后更新时_(d)(x)2006-5-16<br /><br />L工具Qpowerdesigner、erwin、visio、er/studio<br />插g工具Qtogether2006、myeclipse、sqlexplore<br /><br />powerdesignerQ易?功能强大Q?br />    专业的数据库设计工具<br />    <br />    试用记录<br />       1Q反向工E(oracleQ?br />          选择表方便,可根据不同的用户来选择<br />          有运行进度,pȝcpu资源使用不多<br />       2Q把一个数据反向出来后Q内容太多,看不Z么条理来Q对于了解数据库的结构,q没有大的帮助啊<br />       3Q在物理模型中它的脚本操作不太好Q没有办法把一个写好的脚本转化?br />       4Q显C功能也不好Q物理模型)Q我没有扑ֈ隐藏列的昄方式<br /><br />visioQ简单易用(有中文的Q,对MS的支持很?br />    数据库设计只是他的一部分内容,是非专业的数据库设计工具<br />    只能在M的^C<br /><br />    试用记录<br />       1Q反向工E(oracleQ?br />          驱动Q用oracle service 时出错,最后用了odbcQ记住要安装oracle的客L(fng)Q,q样也只支持数据库的表主外键Q视囑֭储过E都不支?br /><br />          选择表,特别的不方便Q它?x)列出所有表Qƈ且只能一个表一个的选择Q不支持Qshift操作Q?br />          无运行进度,pȝcpu资源使用不多<br />今天p么多了,后...<br /><img src ="http://www.aygfsteel.com/peacess/aggbug/46328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/peacess/" target="_blank">中东</a> 2006-05-16 09:42 <a href="http://www.aygfsteel.com/peacess/archive/2006/05/16/46328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ɣֲ</a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">۶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ѯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ذ</a>| <a href="http://" target="_blank">ƶ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¡Ң</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ǭ</a>| <a href="http://" target="_blank">°Ͷ</a>| <a href="http://" target="_blank">կ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">²</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">¹</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>