1. 程式人生 > >java 讀取資料庫mysql千餘條微博excel資料,並用swing介面顯示結果

java 讀取資料庫mysql千餘條微博excel資料,並用swing介面顯示結果

小長假結束第一天。

想要完成題目要求,要做這些:

①要能從網上爬到微博資料

 ②把微博資料存入mysql(因為我當時從網上爬完直接匯出為excel,故還需要多這一步,如果大家爬完資料能直接存入資料庫中就更好省事了。話說怎麼把資料從excel匯入mysql也可以寫篇博文,但本文先不提這步,等有時間我會寫的)

③java從mysql中讀出資料

④講讀出的資料顯示至swing介面

本文重點涉及步驟③、④

一、mysql裡有張weibo表,如下建立

CREATE TABLE `weibo` (
   `id` int(11) NOT NULL AUTO_INCREMENT,           
  `content` VARCHAR(500) DEFAULT NULL ,                    --微博內容
  `name` varchar(30) DEFAULT NULL,                         --使用者名稱
  `maketime` varchar(30) DEFAULT NULL,                     --微博釋出時間
  `input` varchar(30) DEFAULT NULL,                        --釋出微博手機
  `transmit` VARCHAR(11) DEFAULT NULL,                     --轉發數                     
  `comment` VARCHAR(11) DEFAULT NULL,                      --點贊數
  `agreement` VARCHAR(11) DEFAULT NULL,                    --評論數
  `currenttime` varchar(50) DEFAULT NULL,                  --當前時間
  `address` varchar(200) DEFAULT NULL,                     --微博地址
  `useraddress` varchar(200) DEFAULT NULL,                 --微博使用者連結
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
並且假設資料庫weibo裡已經存有了資料,用navicat看下,如下圖(為防止公開的暴露資料,我講微博內容打了個碼....):


二、myeclipse java從mysql讀取資料,核心程式碼,和mysql連結那些的節省篇幅我就不放了,完整吧原始碼放在文章最後


public class UserDao {
    private Connection conn=null;
    private PreparedStatement ps=null;
    private ResultSet rs=null;
    
    //查詢所有使用者
    public List<User> queryAllUser(){
        String sql="select * from weibo";
        List<User> list=new ArrayList<User>();
        try {
             conn=DbUtils.getConnection();
             ps=conn.prepareStatement(sql);
             rs=ps.executeQuery();    
             System.out.println(ps.toString());
             while(rs.next()){      //與資料庫產生互動,依次獲得11各欄位直到rs為空
                 User user=new User();
                 user.setId(rs.getInt(1));
                 user.setContent(rs.getString(2));
                 user.setName(rs.getString(3));
                 user.setMaketime(rs.getString(4));
                 user.setInput(rs.getString(5));
                 user.setTransmit(rs.getString(6));
                 user.setComment(rs.getString(7));
                 user.setAgreement(rs.getString(8));
                 user.setCurrenttime(rs.getString(9));
                 user.setAddress(rs.getString(10));
                 user.setUseraddress(rs.getString(11));                 
                 list.add(user);
             }
             
             
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    
}
public Object[][] queryData(){
        List<User> list=user.queryAllUser();
        data=new Object[list.size()][head.length];
        for(int i=0;i<list.size();i++){                 //讀取mysql每行每列資料
            for(int j=0;j<head.length;j++){
                data[i][0]=list.get(i).getId();
                data[i][1]=list.get(i).getContent();
                data[i][2]=list.get(i).getName();
                data[i][3]=list.get(i).getMaketime();
                data[i][4]=list.get(i).getInput();
                data[i][5]=list.get(i).getTransmit();
                data[i][6]=list.get(i).getComment();
                data[i][7]=list.get(i).getAgreement();
                data[i][8]=list.get(i).getCurrenttime();
                data[i][9]=list.get(i).getAddress();
                data[i][10]=list.get(i).getUseraddress();
            }
        }
        return data;
    }

三、編寫介面

最終介面如下(省去了部分關鍵字):


原始碼打包下載地址:

https://download.csdn.net/download/qq_24507777/10334354

http://www.codeforge.cn/article/519214

參考:

https://www.cnblogs.com/zjl6/p/6814986.html?utm_source=itdadao&utm_medium=referral