小长假结束第一天。
想要完成题目要求,要做这些:
①要能从网上爬到微博数据
②把微博数据存入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.youkuaiyun.com/download/qq_24507777/10334354
http://www.codeforge.cn/article/519214
参考:
https://www.cnblogs.com/zjl6/p/6814986.html?utm_source=itdadao&utm_medium=referral