1、项目关键代码
1.1 新闻进行分类与mysql交互业务层代码
public List<entityDic> Selecting() {
List<entityDic> list = new ArrayList<>();
Connection conn = DbHelper.getConnection();
try {
DatabaseMetaData dbm = conn.getMetaData();
ResultSet rs = dbm.getTables(null, null, "sheet%", null);//通配符获取表名称中所有含有字符sheet的表
while(rs.next()){
entityDic user = new entityDic();
user.setTABLE_NAME(rs.getString(3));
System.out.println(rs.getString(3)); //打印表名
list.add(user);
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public String SelectingType(String tablename) {
String sql = "select channelName from "+tablename;
Connection conn = DbHelper.getConnection();
PreparedStatement pst = null;
String channel=null;
try {
pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while(rst.next()) {
channel = rst.getString("channelName");
}
rst.close();
pst.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return channel;
}
public List<entityDic> SelectingTitle(String tablename) {
List<entityDic> list = new ArrayList<>();
String sql = "select title from "+tablename;
Connection conn = DbHelper.getConnection();
PreparedStatement pst = null;
try {
pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while(rst.next()) {
entityDic user = new entityDic();
user.setTABLE_COMMENT(rst.getString("title"));
System.out.println(rst.getString("title")); //打印表名
list.add(user);
}
rst.close();
pst.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return list;
}
public entityDic SelectingAll(String titlename,String tablename) {
String sql = "select * from "+tablename+" where title = ?";
Connection conn = DbHelper.getConnection();
PreparedStatement pst = null;
entityDic user = new entityDic();
try {
pst = conn.prepareStatement(sql);
pst.setString(1, titlename);
ResultSet rst = pst.executeQuery();
while(rst.next()) {
user.setCOLUMN_NAME(rst.getString("title"));
user.setCOLUMN_TYPE(rst.getString("channelName"));
user.setCOLUMN_KEY(rst.getString("content"));
}
rst.close();
pst.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return user;
}
public String SelectingCol(String tablename) {
String sql = "select count(*) from "+tablename;
Connection conn = DbHelper.getConnection();
PreparedStatement pst = null;
String channel=null;
try {
pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while(rst.next()) {
channel = rst.getString("count(*)");
}
rst.close();
pst.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return channel;
}
1.2 提取mysql数据库中关键词代码
public int selectingTotal(String tablename) {
String sql = "select COUNT(num) from "+tablename;
Connection conn = DbHelper.getConnection();
PreparedStatement pst = null;
int channel=1;
try {
pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while(rst.next()) {
channel = rst.getInt("COUNT(num)");
}
rst.close();
pst.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return channel;
}
public List<DataJson> cha(String tablename) {
List<DataJson> list = new ArrayList<>();
String sql = "select * from "+tablename+" ORDER BY 'num' ASC limit 0,600";
Connection conn = DbHelper.getConnection();
PreparedStatement pst = null;
try {
pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while(rst.next()) {
DataJson user = new DataJson();
user.setName(rst.getString("keywords"));
double t= rst.getInt("num");
double b = (double)t/selectingTotal(tablename);
System.out.println(selectingTotal(tablename));
user.setValue(b);
list.add(user);
}
rst.close();
pst.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return list;
}
1.3 前端显示代码(此显示仅为index.jsp)
<%@ page import="com.entity.entityDic" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.dao.Datadao" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>新闻信息管理</title>
<!-- BOOTSTRAP STYLES-->
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<!-- FONTAWESOME STYLES-->
<link href="assets/css/style.css" rel="stylesheet" />
<!-- CUSTOM STYLES-->
<link href="assets/css/table-responsive.css" rel="stylesheet" />
<!-- GOOGLE FONTS-->
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />
</head>
<body>
<div id="wrapper">
<nav class="navbar navbar-default navbar-cls-top " role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-collapse">
<span class="sr-only">新闻</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.jsp">数据</a>
</div>
<div style="color: white;
padding: 15px 50px 5px 50px;
float: right;
font-size: 16px;"> <a href="#" class="btn btn-danger square-btn-adjust">登录</a> </div>
</nav>
<!-- /. NAV TOP -->
<nav class="navbar-default navbar-side" role="navigation">
<div class="sidebar-collapse">
<ul class="nav" id="main-menu">
<%
Datadao dao = new Datadao();
ArrayList<entityDic> lists = (ArrayList<entityDic>) dao.Selecting();
for (entityDic bi : lists) {
%>
<tr>
<li>
<a class="active-menu" href="ShowServlet?name=<%=bi.getTABLE_NAME()%>"><i class="fa fa-dashboard fa-3x"></i><%=dao.SelectingType(bi.getTABLE_NAME())%>(<%=dao.SelectingCol(bi.getTABLE_NAME())%>)</a>
</li>
</tr>
<%
}
%>
<li>
<a class="active-menu" href="blank.jsp"><i class="fa fa-dashboard fa-3x"></i>分类统计</a>
</li>
<li>
<a class="active-menu" href="sheet_army.jsp"><i class="fa fa-dashboard fa-3x"></i>词云展示</a>
</li>
<%
for (entityDic bi : lists) {
%>
<tr>
<li>
<a class="active-menu" href="/<%=bi.getTABLE_NAME()%>.jsp"><i class="fa fa-dashboard fa-3x"></i><%=dao.SelectingType(bi.getTABLE_NAME())%>词云图</a>
</li>
</tr>
<%
}
%>
</ul>
</div>
</nav>
<!-- /. NAV SIDE -->
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="panel panel-default">
<div class="panel-heading">
<label>展示</label>
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>#</th>
<th>新闻标题</th>
</tr>
</thead>
<tbody>
<%
Datadao daos= new Datadao();
int j=1;
String name = (String) request.getAttribute("name");
if(name==null)
{
name = "sheet_army";
}
ArrayList<entityDic> list = (ArrayList<entityDic>) daos.SelectingTitle(name);
for (entityDic bis : list) {
int id = bis.getId();
%>
<tr>
<form action="/ShowServlet" method="post">
<td><%=j%></td>
<td><a href="blank2.jsp?id=<%=bis.getTABLE_COMMENT()%>&name=<%=name%>" ><%=bis.getTABLE_COMMENT()%></a></td>
</form>
</tr>
<%
j++;}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- /. ROW -->
<hr />
</div>
<!-- /. PAGE INNER -->
</div>
<!-- /. PAGE WRAPPER -->
</div>
<!-- /. WRAPPER -->
<!-- SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME-->
<!-- JQUERY SCRIPTS -->
<script src="assets/js/jquery-1.8.3.min.js"></script>
<!-- BOOTSTRAP SCRIPTS -->
<script src="assets/js/bootstrap.min.js"></script>
<!-- METISMENU SCRIPTS -->
<script src="assets/js/jquery.sparkline.js"></script>
<!-- CUSTOM SCRIPTS -->
<script src="assets/js/common-scripts.js"></script>
</body>
</html>
2、结果显示

