• 效果展示

  • Github链接:https://github.com/qushencn/springboot
  • Csdn下载链接:https://download.csdn.net/download/weixin_38959210/11082611

只写了Controller到dao层吗,没有写中间的Service层

后台代码:@Controller:


@Controller
public class UserController {@Autowiredprivate FwlMapper fwlmapper;@RequestMapping("/hello")public String HelloSpringBoot() {System.out.println("从Controller跳转前台页面");return "user/index";}@RequestMapping("/csdn")@ResponseBody@Scheduled(cron="0 0 12 * * ?")   //每天12点执行一次public String selectcsdn() throws IOException {csdn csdn=new csdn();int fwl=csdn.selectcsdn();fwl wl=new fwl();wl.setFwl(fwl);wl.setTime(getTime());System.out.println("fwl:"+fwl);System.out.println("显示时间是:"+getTime());int a=fwlmapper.insertfwl(wl);System.out.println("a:"+a);return "插入成功";}@RequestMapping("/selecttime")@ResponseBodypublic List<fwl> selecttime(){System.out.println("进入了查询csdn访问量");System.out.println("查询到的数据是:"+fwlmapper.selectall().get(2).getTime());return fwlmapper.selectall();}public static String getTime() {Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String updateTime=sdf.format(date);return updateTime;}}

抓取CSDN博客评论代码:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;public class csdn {public int selectcsdn() throws IOException {Document doc = Jsoup.connect("https://blog.csdn.net/weixin_38959210").header("Accept-Encoding", "gzip, deflate").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0").maxBodySize(0).timeout(600000).get();Elements csdndoc=doc.select(".grade-box");Elements csdn_dd=csdndoc.select("dl dd");String fangwenliang=csdn_dd.get(1).attr("title");int fwliang = Integer.parseInt(fangwenliang);System.out.println("csdn访问量:"+fangwenliang);return fwliang;}
}

dao层代码 @Mapper:

@Mapper
public interface FwlMapper {public int insertfwl(fwl wl);public List<fwl> selectall();}

mapper.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.FwlMapper"><resultMap type="fwl" id="fwlMap"><id column="id" property="id" jdbcType="INTEGER" /><result column="fwl" property="fwl" jdbcType="VARCHAR" /><result column="time" property="time" jdbcType="VARCHAR" /></resultMap><insert id="insertfwl" parameterType="fwl" >insert into csdnfwl(fwl, time) values(#{fwl}, #{time})</insert><select id="selectall"  resultType="com.example.demo.entity.fwl">select  id,fwl,LEFT(time,10) time   from (select   *   from   csdnfwl   order   by   time desc    limit    8) u  order   by   time asc</select></mapper>

前端代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<style>
body {padding:0;  /*去除内边距*/border:0;   /*去除边框*/margin:0;   /*去除外边距*/
}
</style><script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.js"></script>
<body><div id="main" style="width: 1920px;height:800px;" ></div></body><script>$(function () {// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据var option = {title: {text: 'csdn博客访问量',subtext: '单位:人次'},tooltip:{show:true },toolbox: {show : true,feature : {mark : {show: false},dataView : {show: true, readOnly: false},magicType : {show: true, type: ['line', 'bar']},restore : {show: true},saveAsImage : {show: true}}},legend: {data:[]},xAxis: {data: []},yAxis: {scale:true // 最小值},series: [{type: 'line',data:[]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);var taking=[];    //收入数组(实际用来盛放X轴坐标值)var yearmonth=[];    //年月数组(实际用来盛放Y坐标值)$.ajax({async : true,            //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)url : "/selecttime",    //请求发送到TestServlet处dataType : "json",        //返回数据形式为jsonsuccess : function(result) {//请求成功时执行该函数内容,result即为服务器返回的json对象if (result != null && result.length > 0) {for(var i=0;i<result.length;i++){       taking.push(result[i].fwl); //挨个取出收入并填入类别数组}for(var i=0;i<result.length;i++){       yearmonth.push(result[i].time);    //挨个取出年月并填入销量数组}myChart.hideLoading();    //隐藏加载动画myChart.setOption({        //加载数据图表xAxis: {data: yearmonth,},series: [{// 根据名字对应到相应的系列data: taking}]});}},error : function(errorMsg) {//请求失败时执行该函数alert("图表请求数据失败!");myChart.hideLoading();}})});</script>
</html>

实体类命名:

        private int id;private int fwl;private String  time;

数据库命名:

每天定时查询CSDN博客访问量,并通过echarts进行展示相关推荐

  1. 【爬虫+数据可视化】Python爬取CSDN博客访问量数据并绘制成柱状图

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业及非法用途,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/ ...

  2. 【流量】一觉醒来发现CSDN博客访问量增加十倍!原来是这个原因

    想必点击来的同学都是想提高自己博文访问量的,而具体的方法相信你已经掌握了,此时我的博客访问量+1 咳咳,这样写就真的太扯淡了,毕竟咱也是搞技术的,虽然现在是流量之上,但是CSDN毕竟还是一个技术社区嘛 ...

  3. 不知不觉,二哥 CSDN 博客访问量破 1000 万了,这个成绩,全网也没几个吧?

    不知不觉,二哥 CSDN 博客访问量破 1000 万了,这个成绩,全网也没几个吧? 虽然CSDN 被很多人鄙视过,二哥甚至也发过牢骚,但滴水之恩,当涌泉相报!二哥是从这里出发的,那就应该更加深爱着这个 ...

  4. CSDN博客访问量突破10万

    CSDN博客访问量突破10万,纪念一下.

  5. CSDN博客访问量问题

    亲测,发现CSDN博客访问量算法有问题. 随意打开自己任意一片博客,刷新,都算一次访问了,但短时间内持续刷新没有算访问量. 过几分钟,重新刷新,又算一次访问量,访问量又 +1. 话说CSDN,这个访问 ...

  6. Node.js批量刷CSDN博客访问量

    在我的系列文章Node.js文章中的Node.js爬虫技术中介绍了爬取我的博客文章列表. 在那里我们用到了request和cheerio.这里我只需要使用request就可以批量刷CSDN博客的访问量 ...

  7. 用java爬虫来提高CSDN博客访问量,浏览量

    首先明确一点,采用爬虫来提高访问量,这样是不对滴,同学们请不要使用. 咋们用的java的jsoup来进行爬虫,也可以用http就是代码有点多,咋们省着点来. 一.首先,项目中引入如下jar包,让爬虫变 ...

  8. 2019年度CSDN博客之星TOP10榜单揭晓,你上榜了吗?

    培根说,『读书造成充实的人,会议造成未能觉悟的人,写作造成正确的人』. 在短信短视频快速迭代的快时代,更深度的思考.更正确的实践,更成体系的写作与分享,尤显可贵.这里,每一篇博文都是开发者实战的经验解 ...

  9. 在CSDN博客中添加Google Adsense等广告来赚钱

    您的CSDN博客访问量如何?是否想运用你的博客流量来为你带来广告收入?如何才能将广告代码尤其是Google的广告代码添加进我的CSDN?Blog中?通过这篇Blog我将告诉你我刚刚成功放入Google ...

最新文章

  1. gmail怎么延时发送邮件呢?
  2. IL2CPP的优化 : Devirtualization 去虚拟化
  3. java基础分享_一、java基础教程
  4. 水平集嵌入函数的曲率
  5. python如何操作oracle数据库_python操作oracle数据库
  6. 登录文件传输服务器,生信小技巧之:在本地与服务器间快速传输文件,无密码登录远端服务器...
  7. Java 读写txt文件 中文乱码问题
  8. 业务逻辑?到底是什么
  9. 《善用佳软:高效能人士的软件应用之道》一第2章 办公软件:核心应用,实用技巧...
  10. flac文件转换成mp3格式
  11. springboot 整合 ftps
  12. 2022年美容师(初级)操作证考试题库及模拟考试
  13. html桌面共享文件夹,win7共享文件夹在哪? win7和win10怎么共享文件夹
  14. 《富爸爸穷爸爸 》 读书笔记
  15. python语言例子_第一个Python实例
  16. 配置使用consol口和网线登录交换机
  17. 我终于深入参与了一个分布式系统了,好多想法不一样了
  18. 开源办公的五个法律问题 ——以“新型冠状病毒”防控期间企业在线远程运营为视角...
  19. 基于python的管理系统_基于ssm的管理系统_基于python管理系统
  20. UML设计java程序_利用UML序列图设计Java应用程序详解

热门文章

  1. IT架构的本质:工作12年,我的五点感悟
  2. Java Spark之创建RDD的两种方式和操作RDD
  3. zookeeper应用之分布式锁
  4. Spark中的键值对操作-scala
  5. Elasticsearch大文件搜索
  6. 巡逻机器人用应用的pc端车牌识别
  7. 家居市场2015惨淡收官 智能家居迎风而起前景广阔
  8. 凯撒(Caesar)密码加密解密c语言
  9. 狼奔权限管理系统[开源]
  10. SQL 2005中pivot and unpivot的用法