Spring Boot+高德地图热力图动态数据展示+MySQL

项目目录

Spring Boot+高德地图热力图动态数据展示+MySQL_第1张图片

pom.xml



	4.0.0

	com.bigdata
	sid-web
	0.0.1-SNAPSHOT
	jar

	sid-web
	Demo project for Spring Boot

	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.3.RELEASE
		 
	

	
		UTF-8
		UTF-8
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		


		
			javax.servlet
			jstl
			1.2
		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
			
		

		
			org.apache.hbase
			hbase-client
			1.4.4
		

		
			org.springframework.boot
			spring-boot-starter-jdbc
		

		
			mysql
			mysql-connector-java
		

		
			net.sf.json-lib
			json-lib
			2.4
			jdk15
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	



mapstat.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>


    
    基于Storm的实时区域游客量热力图统计
    
    



基于Storm的实时区域游客量热力图统计

刷新频率:

StatApp.java

package com.bigdata.controller;


import com.bigdata.domain.ResultBean;
import com.bigdata.service.ResultBeanService;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@RestController
public class StatApp {


    @Autowired
    ResultBeanService resultBeanService;


    @RequestMapping(value = "/map_stat", method = RequestMethod.GET)
    public ModelAndView map_stat() {

        ModelAndView view = new ModelAndView("mapstat");
        List results = resultBeanService.query();

        JSONArray jsonArray = JSONArray.fromObject(results);

        System.out.println(jsonArray);


        // 如何把我们从后台查询到的数据以json的方式返回给前台页面
        view.addObject("data_json", jsonArray);

        return view;
    }

}

ResultBeanService.java

package com.bigdata.service;

import com.bigdata.domain.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

@Service
public class ResultBeanService {


    @Autowired
    JdbcTemplate jdbcTemplate;


    public List query(){

        String sql = "select longitude,latitude ,count(1) as c from stat where time > unix_timestamp(date_sub(current_timestamp(), interval 60 minute))*1000 group by longitude,latitude";

        return (List) jdbcTemplate.query(sql, new RowMapper() {

            @Override
            public ResultBean mapRow(ResultSet resultSet, int i) throws SQLException {
                ResultBean bean = new ResultBean();

                bean.setLng(resultSet.getDouble("longitude"));
                bean.setLat(resultSet.getDouble("latitude"));
                bean.setCount(resultSet.getLong("c"));

                return bean;
            }
        });
    }


}

ResultBean.java

package com.bigdata.domain;

public class ResultBean {

    private double lng;

    private double lat;

    private long count;

    public double getLng() {
        return lng;
    }

    public void setLng(double lng) {
        this.lng = lng;
    }

    public double getLat() {
        return lat;
    }

    public void setLat(double lat) {
        this.lat = lat;
    }

    public long getCount() {
        return count;
    }

    public void setCount(long count) {
        this.count = count;
    }
}

application.yml

spring:
  profiles:
    active: dev

application-dev.yml

server:
  port: 9998
  servlet:
    context-path: /map
spring:
  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/sid?useSSL=false
    username: root
    password: 密码
  jpa:
    hibernate:
      ddl-auto: update
      show-sql: true
  thymeleaf:
    cache: false
    enabled: false


运行

Spring Boot+高德地图热力图动态数据展示+MySQL_第2张图片

访问 localhost:9998/map/map_stat

Spring Boot+高德地图热力图动态数据展示+MySQL_第3张图片

你可能感兴趣的:(spring,boot,高德地图,mysql,storm)