<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    世界因你而精彩___vv

    要么忙著生存,要么趕著去死!人總是要做點什么的!

     

    java中SAX數據庫中讀取數據生成XML并且再解析XML入庫

    1:ReadXml
    package com.cn.vv.xml;

    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.List;

    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;

    public class ReadXml
    {
        public Connection conn = null;

        public Statement stmt = null;

        public Statement stmtsec = null;

        public static void main(String[] args)
        {
            ReadXml rx = new ReadXml();
            rx.readXml();
        }

        public void readXml()
        {
            String username = "";
            String id = "";
            String homephone = "";
            String officephone = "";
            String password = "";
            String sex = "";
            String homeaddress = "";
            String corpaddress = "";
            String mobile = "";

            String StudentID = "";
            String StudentName = "";
            String StudentAge = "";
            // ***************************建立數據庫連接***************************
            try
            {
                /*
                 * Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
                 * .newInstance(); String url =
                 * "jdbc:microsoft:sqlserver://localhost:1433;databasename=vv";//
                 * jdomdb為你的數據庫名 conn = DriverManager.getConnection(url, "sa", "");
                 */
                GetConnection getconn = new GetConnection();
                conn = getconn.getConnection();
                stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                        ResultSet.CONCUR_UPDATABLE);
                stmtsec = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                        ResultSet.CONCUR_UPDATABLE);
            } catch (Exception sqlexception)
            {
                System.out.println("數據庫連接發生異常!");
            }
            // **********************讀xml文件并寫入數據庫**************************************
            try
            {
                SAXBuilder sb = new SAXBuilder();

                Document doc = sb.build("userinfo.xml");
                Element root = doc.getRootElement();

                Element elms = null;
                Element elms2 = null;
                Element elms3 = null;
                Element elms4 = null;

                List list2 = null;
                List list3 = null;
                List list1 = root.getChildren("userinfo");
                List list4 = root.getChildren("student");
                for (int i = 0; i < list4.size(); i++)
                {
                    System.out.println("vvvvvvvvvvvvvvvvvvvv");
                    elms4 = (Element) list4.get(i);// student接點子元素

                    StudentID = elms4.getChildText("StudentID");
                    StudentName = elms4.getChildText("StudentName");
                    StudentAge = elms4.getChildText("StudentAge");
                    String sql = "insert into studentnew(StudentID,StudentName,StudentAge)values ('"
                            + StudentID
                            + "','"
                            + StudentName
                            + "','"
                            + StudentAge
                            + "')";
                    stmtsec.executeUpdate(sql);
                }

                for (int i = 0; i < list1.size(); i++)
                {
                    elms = (Element) list1.get(i); // userinfo節點子元素

                    id = elms.getChildText("id");
                    sex = elms.getChildText("sex");
                    username = elms.getChildText("username");
                    password = elms.getChildText("password");

                    list2 = elms.getChildren("userphone"); // 讀出userinfo節點的userphone子節點的元素

                    for (int j = 0; j < list2.size(); j++)
                    {
                        elms2 = (Element) list2.get(j);
                        homephone = elms2.getChildText("homephone");
                        officephone = elms2.getChildText("officephone");
                        System.out.println(officephone);
                        mobile = elms2.getChildText("mobile");
                    }

                    list3 = elms.getChildren("useraddress"); // 讀出useraddress節點的元素

                    for (int j = 0; j < list3.size(); j++)
                    {
                        elms3 = (Element) list3.get(j);
                        homeaddress = elms3.getChildText("homeaddress");
                        corpaddress = elms3.getChildText("corpaddress");
                    }

                    // 插入數據庫的表tmpinfo officephone
                    String sql = "insert into tmpinfo(id,username,password,sex,officephone,mobile,homephone,corpaddress,homeaddress)values ('"
                            + id
                            + "','"
                            + username
                            + "','"
                            + password
                            + "','"
                            + sex
                            + "','"
                            + officephone
                            + "','"
                            + mobile
                            + "','"
                            + homephone
                            + "','"
                            + corpaddress
                            + "','"
                            + homeaddress
                            + "')";
                    stmt.executeUpdate(sql);

                }

                stmt.close();
                stmtsec.close();
                conn.close();
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            // **********************讀xml文件并寫入數據庫**************************************
        }

    }
    2:ExtraXml
    package com.cn.vv.xml;

    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Random;

    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;

    public class ExtraXml
    {

        String sql = "";

        String colName = "";

        String sDBDriver = "";

        String sConnStr = "";

        String url = "";

        private Connection conn;

        private Statement stmtone;

        private Statement stmtsec;

        private ResultSet rs;

        private ResultSet rs1;

        private ResultSet rss;

        private ResultSet rss1;

        public static void main(String[] args) throws Exception
        {
            ExtraXml ex = new ExtraXml();
            try
            {
                ex.BuildXMLDoc();
            } catch (Exception exp2)
            {
                System.out.print("調用異常!");
            }
        }

        public ExtraXml()
        {
            conn = null;
            stmtone = null;
            // url = "jdbc:microsoft:sqlserver://localhost:1433;databasename=vv";//
            // jdomdb為你的數據庫名
            sql = "select * from userinfo";
        }

        public void BuildXMLDoc() throws IOException, SQLException
        {
            int sum1 = 0;
            int sum2 = 0;
            int sum = 0;
            try
            {

                GetConnection getconn = new GetConnection();
                conn = getconn.getConnection();
                stmtone = conn.createStatement(); // /創建語句對象
                stmtsec = conn.createStatement();
                rs1 = stmtone.executeQuery("select count(*) from userinfo");
                while (rs1.next())
                {
                    sum1 = rs1.getInt(1);
                }
                rss1 = stmtone.executeQuery("select count(*) from students");
                while (rss1.next())
                {
                    sum2 = rss1.getInt(1);
                }
                sum = sum1 + sum2;
                System.out.println("zongshu======" + sum);
                rs = stmtone.executeQuery("select * from userinfo");
                rss = stmtsec.executeQuery("select * from students");
                System.out.println("vvvvvvvvvvvvvvvvvvvvv");
                // System.out.println("數據庫連接成功!");
            } catch (Exception sqlexception)
            {
                System.out.println("數據庫連接發生異常!");
            }

            try
            {

                Document document = new Document(new Element("alluserinfo")); // 創建文檔

                ResultSetMetaData rsmd = rs.getMetaData(); // 獲取字段名
                ResultSetMetaData rsd = rss.getMetaData();
                int i = 0;

                int numberOfColumns = rsmd.getColumnCount();// 獲取字段數
                int numberofColumnstwo = rsd.getColumnCount();
                // System.out.println(numberOfColumns);
                for (int n = 0; n < sum; n++)
                {
                    Random r = new Random();
                    int random = r.nextInt(2);
                    System.out.println(random);
                    if (random == 1)
                    {
                        if (rs.next()) // 將查詢結果取出
                        {
                            // System.out.println("vvvvvvvv");

                            Element element0 = new Element("userinfo"); // 創建元素
                            // 生成JDOM樹
                            document.getRootElement().addContent(element0);

                            Element element2 = new Element("userphone");
                            element0.addContent(element2);

                            Element element3 = new Element("useraddress");
                            element0.addContent(element3);

                            for (i = 1; i <= numberOfColumns; i++)
                            {
                                // colName=new
                                // String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");
                                // //代碼轉換
                                colName = rs.getString(i);

                                if (i > 4 && i < 8)// userinfo表中的第5,6,7個字段歸為phone節點
                                {
                                    Element element = new Element(rsmd
                                            .getColumnName(i)).setText(colName);
                                    element2.addContent(element);
                                } else if (i > 7 && i <= 9)// 第8,第9個字段歸為address節點
                                {
                                    Element element = new Element(rsmd
                                            .getColumnName(i)).setText(colName);
                                    element3.addContent(element);
                                } else
                                {
                                    Element element = new Element(rsmd
                                            .getColumnName(i)).setText(colName);
                                    element0.addContent(element);
                                }

                            }

                        }
                    } else
                    {
                        if (rss.next()) // 將查詢結果取出
                        {
                            // System.out.println("vvvvvvvv");

                            Element element0 = new Element("student"); // 創建元素
                            // 生成JDOM樹
                            document.getRootElement().addContent(element0);

                            for (i = 1; i <= numberofColumnstwo; i++)
                            {
                                colName = rss.getString(i);
                                Element element = new Element(rsd.getColumnName(i))
                                        .setText(colName);
                                element0.addContent(element);

                            }

                        }

                    }
                    if (n == sum - 1)
                    {
                        while (rs.next()) // 將查詢結果取出
                        {
                            // System.out.println("vvvvvvvv");

                            Element element0 = new Element("userinfo"); // 創建元素
                            // 生成JDOM樹
                            document.getRootElement().addContent(element0);

                            Element element2 = new Element("userphone");
                            element0.addContent(element2);

                            Element element3 = new Element("useraddress");
                            element0.addContent(element3);

                            for (i = 1; i <= numberOfColumns; i++)
                            {
                                // colName=new
                                // String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");
                                // //代碼轉換
                                colName = rs.getString(i);

                                if (i > 4 && i < 8)// userinfo表中的第5,6,7個字段歸為phone節點
                                {
                                    Element element = new Element(rsmd
                                            .getColumnName(i)).setText(colName);
                                    element2.addContent(element);
                                } else if (i > 7 && i <= 9)// 第8,第9個字段歸為address節點
                                {
                                    Element element = new Element(rsmd
                                            .getColumnName(i)).setText(colName);
                                    element3.addContent(element);
                                } else
                                {
                                    Element element = new Element(rsmd
                                            .getColumnName(i)).setText(colName);
                                    element0.addContent(element);
                                }

                            }

                        }
                        while (rss.next()) // 將查詢結果取出
                        {
                            // System.out.println("vvvvvvvv");

                            Element element0 = new Element("student"); // 創建元素
                            // 生成JDOM樹
                            document.getRootElement().addContent(element0);

                            for (i = 1; i <= numberofColumnstwo; i++)
                            {
                                colName = rss.getString(i);
                                Element element = new Element(rsd.getColumnName(i))
                                        .setText(colName);
                                element0.addContent(element);

                            }

                        }

                    }
                }
                XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat());
                outp.output(document, new FileOutputStream("e:userinfo.xml")); // 輸出XML文檔

            } catch (Exception exp)
            {
                exp.printStackTrace();
                System.out.print("XML 文檔生成失敗!");
            }
            rs.close(); // 關閉結果集
            stmtone.close(); // 關閉statement
            stmtsec.close();
            conn.close();
        }
    }
    3:GetConnection
    package com.cn.vv.xml;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;

    public class GetConnection
    {
        private  String sDBDriver;

        private  String url;

        private  String user;

        private  String password;

        public  Connection conn;

        public  Statement stmt;

        public Connection  getConnection()
        {
            sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // //數據庫的驅動程序,連接數據庫
            url = "jdbc:microsoft:sqlserver://localhost:1433;databasename=vv";
            user = "sa";
            password = "";
            conn = null;
            try
            {
                Class.forName(sDBDriver); // /加載驅動程序
                conn = DriverManager.getConnection(url, user, password); // /建立Connection連接
                stmt = conn.createStatement(); // /創建語句對象
                System.out.println("數據庫成功!");
            } catch (ClassNotFoundException e)
            {
                e.printStackTrace();
                System.out.println("數據庫連接失敗!");
            }

            catch (SQLException e)
            {
                System.out.println("數據庫連接發生異常!");
            }
            return conn;
           
        }

    }
    DBsql

    CREATE TABLE tmpinfo (
      id int NOT NULL ,
      username varchar(20) NOT NULL default '',
      password varchar(20) NOT NULL default '',
      sex varchar(10) NOT NULL default '',
      officephone varchar(20) NOT NULL default '',
      mobile varchar(20) NOT NULL default '',
      homephone varchar(20) NOT NULL default '',
      corpaddress varchar(60) NOT NULL default '',
      homeaddress varchar(60) NOT NULL default '',
      PRIMARY KEY  (id)
    )

    --
    -- Dumping data for table `tmpinfo`
    --



    --
    -- Table structure for table `userinfo`
    --

    DROP TABLE IF EXISTS userinfo;
    CREATE TABLE userinfo (
      id int NOT NULL ,
      username varchar(20) NOT NULL default '',
      password varchar(20) NOT NULL default '',
      sex varchar(10) NOT NULL default '',
      officephone varchar(20) NOT NULL default '',
      mobile varchar(20) NOT NULL default '',
      homephone varchar(20) NOT NULL default '',
      corpaddress varchar(60) NOT NULL default '',
      homeaddress varchar(60) NOT NULL default '',
      PRIMARY KEY  (id)
    )

    select * from userinfo

    insert into userinfo values(1,'王磊',54321,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(2,'黎明',11111,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(3,'VV',22222,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(4,'兆位',33333,'女',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(5,'航程',44444,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(6,'杜格',55555,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(7,'YY',66661,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(8,'霏霏',77777,'女',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');

    --
    -- Dumping data for table `userinfo`
    --

    create table studentnew(
    StudentID varchar(20),
    StudentName varchar(20),
    StudentAge varchar(20),
    )


    insert into students values('1','vv','21');
    insert into students values('2','mm','20');
    insert into students values('3','cc','44');
    insert into students values('4','ddd','22')


    ----------------------------------------------------------------------------------------------------------------------


    select * from students
    delete from students
    select * from userinfo
    delete from userinfo
    insert into userinfo values(1,'王磊',54321,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(2,'黎明',11111,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(3,'VV',22222,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(4,'兆位',33333,'女',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(5,'航程',44444,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(6,'杜格',55555,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(7,'YY',66661,'男',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');
    insert into userinfo values(8,'霏霏',77777,'女',01012345678,13357279558,01087654321,'北京文明路55號','北京天行網安');

    insert into students values('1','vv','21');
    insert into students values('2','mm','20');
    insert into students values('3','cc','44');
    insert into students values('4','ddd','22')

    select * from studentnew
    select * from tmpinfo
    delete from tmpinfo
    delete from studentnew








    要么忙著生存,要么趕著去死!人總是要做點什么的!

    posted on 2007-10-30 09:15 vv 閱讀(3076) 評論(0)  編輯  收藏 所屬分類: java

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類(4)

    隨筆檔案(7)

    文章分類(10)

    文章檔案(11)

    相冊

    最新隨筆

    搜索

    最新評論

    • 1.?re: 過濾頁面中沒有用到的圖片[未登錄]
    • 在非洲,瞪羚每天早上醒來時,他知道自己必須跑的比最快的獅子還快,否則就會被吃掉.獅子每天早上醒來時,他知道自己必須追上跑得最慢的瞪羚,否則就會被餓死.不管你是獅子還是瞪羚,當太陽升起時,你最好開始奔跑
    • --Eleven

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费国产污网站在线观看| 在线观看亚洲免费视频| 中文字幕无码免费久久| 亚洲精品中文字幕无码蜜桃| 中文字幕高清免费不卡视频| ZZIJZZIJ亚洲日本少妇JIZJIZ| 国产精品亚洲专一区二区三区| 国产又黄又爽又刺激的免费网址| 亚洲av成本人无码网站| 国产成人免费a在线视频app| 免费国产a理论片| 激情97综合亚洲色婷婷五| a级毛片高清免费视频| 亚洲免费在线视频| 国产成人精品久久免费动漫| 日韩亚洲不卡在线视频中文字幕在线观看| 91在线视频免费91| 亚洲成熟丰满熟妇高潮XXXXX| 免费a级毛片视频| 成人爽a毛片免费| 亚洲人成影院在线高清| 成人永久免费高清| 国产精品偷伦视频免费观看了| 久久国产精品亚洲一区二区| 国产精品免费网站| 特级毛片免费播放| 亚洲成色www久久网站夜月| 18禁网站免费无遮挡无码中文 | 亚洲电影在线免费观看| 精品剧情v国产在免费线观看| 一级做a爱过程免费视| 亚洲欧洲免费视频| 好爽好紧好大的免费视频国产 | 中文字幕免费视频一| 亚洲中文字幕精品久久| 亚洲一区二区精品视频| 国产成人免费在线| 永久免费无码网站在线观看个| 亚洲色欲www综合网| 免费在线黄色网址| 在线免费中文字幕|