<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 閱讀(3077) 評論(0)  編輯  收藏 所屬分類: java

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類(4)

    隨筆檔案(7)

    文章分類(10)

    文章檔案(11)

    相冊

    最新隨筆

    搜索

    最新評論

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

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品日韩一区二区小说| 国产高清视频免费在线观看| 久久国产亚洲精品| 春意影院午夜爽爽爽免费| 久久精品私人影院免费看| 成人黄页网站免费观看大全| 亚洲精品午夜无码电影网| 亚洲熟妇无码AV| 一区二区免费视频| 亚洲一级黄色视频| 亚洲色成人WWW永久在线观看 | WWW国产成人免费观看视频| 亚洲国产综合精品中文字幕 | 国产日产亚洲系列| 亚洲乱亚洲乱妇无码| 日韩精品无码一区二区三区免费| 日本人护士免费xxxx视频| 亚洲无线电影官网| 皇色在线免费视频| 免费永久看黄在线观看app| 亚洲一区在线免费观看| 免费观看久久精彩视频| 中文字幕日韩亚洲| 日韩亚洲人成在线综合| 成人男女网18免费视频| 国产成人亚洲精品91专区高清 | 特级无码毛片免费视频尤物| 亚洲婷婷在线视频| 无码囯产精品一区二区免费 | 日韩欧美亚洲国产精品字幕久久久| 国产国产人免费视频成69堂| 亚洲成人在线电影| 野花香高清在线观看视频播放免费 | 免费AA片少妇人AA片直播| 亚洲av日韩av无码| 久久久久久国产a免费观看黄色大片| 亚洲成av人片在线天堂无| 国产亚洲美女精品久久久2020| 91av免费观看| 亚洲国产午夜电影在线入口| 日韩在线播放全免费|