Echarts是什么,它一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器,底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

它可以轻易的作出类似这样:

或这样的美观可视化图:

当别人在使用各种图来表示各项数据之间的联系时,我还在使用Low到爆的表格那种用户体验感受属实不太妙。可视化图相较于表格那一行一行数据,在直观方面不知优出几个档次。但是echarts开源库的使用在小白的我看来一直是一个难点,看了很多别人的文档还是不懂如何使用。但是这两天,我仔细找了各种项目和向大佬寻求帮助,总算是能成功的显示一个丑丑的图来,这也算是一个进步吧。好,下面开始我自己的使用教程。

第一步:先找到自己想要的可视化图模板,并下载简单的案例。比如像我下图这个就挺不错的。

第二步:建立数据库,并填入相对应的数据,比如想我这个这样。

第三步:对自己的Web项目添加链接数据库的jar包,并且在DB里面建立连接。

第四步:建立对应数据库的数据Bean与逻辑Bean,像这里我就是User和UserService

1.User

package cn.edu.ccut.bean;

import java.util.Date;

public class User {

private int id;

private String name;

private int sex;

private Date birthday;

private int department;

private int position;

private int power;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getSex() {

return sex;

}

public void setSex(int sex) {

this.sex = sex;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

public int getDepartment() {

return department;

}

public void setDepartment(int department) {

this.department = department;

}

public int getPosition() {

return position;

}

public void setPosition(int position) {

this.position = position;

}

public int getPower() {

return power;

}

public void setPower(int power) {

this.power = power;

}

}

2.UserService

package cn.edu.ccut.bean;

import cn.edu.ccut.DB.DB;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;public classUserService {public ListgetAllUsers() throws SQLException {

DB db=DB.getInstance();

ResultSet rs=db.executeQueryNoParam("select * from t_user");

List allUsers=new ArrayList();

User user;while(rs.next()){

user=newUser();

user.setId(rs.getInt(1));

user.setName(rs.getString(2));

user.setSex(rs.getInt(3));

user.setBirthday(rs.getDate(4));

user.setDepartment(rs.getInt(5));

user.setPosition(rs.getInt(6));

user.setPower(rs.getInt(7));

allUsers.add(user);

}

db.close();returnallUsers;

}

}

第五步:创建对应的UserServlet,使之获取到属性allUsers,并且可以跳转到相对应的JSP页面。

UserServlet

package cn.edu.ccut.servlet;

import cn.edu.ccut.bean.User;

import cn.edu.ccut.bean.UserService;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import java.io.IOException;

import java.sql.SQLException;

import java.util.List;

@WebServlet("/UserServlet")

public class UserServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

UserService userservice=new UserService();

try {

List allUsers = userservice.getAllUsers();

HttpSession session=request.getSession();

if(session==null){

session=request.getSession(true);

}

session.setAttribute("users",allUsers);

response.sendRedirect("table.jsp");

} catch (SQLException e) {

e.printStackTrace();

response.sendRedirect("exception.jsp");

}

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request,response);

}

}

第六步:对自己的Web项目添加JSTL(即JSP标准标签库)jar包,这个可以不加,但是这样的话后面的scripts写法有所改变而且比较复杂,为了简便,用JSTL注解来写逻辑和观感都会好许多。

第七步:将自己中意的案例源码放到相对应的JSP页面,并对里面的静态数据进行修改,使它可以动态访问数据库。(重要)ps:你问Echarts图表为什么和刚开始的格式不一样,当然是我改的呀,这样更好看。

lineecharts

User: Administrator

Date:2020/3/27Time:13:58To changethis template use File | Settings |File Templates.--%>

Title

var arr = newArray();var index = 0;arr[index++] = ${user.department}; //echarts数组形式存储柱体大小

var dom = document.getElementById("container"); //框架使用名称

var myChart =echarts.init(dom);var app ={};

option= null;

option={

backgroundColor:'#0E2A43',

tooltip: {

show:true,

formatter:"{b}:{c}"},

grid: {

left:'5%',

top:'12%',

right:'1%',

bottom:'8%',

containLabel:true},

xAxis: {

type:'category',

axisTick: {

show:false,

alignWithLabel:false,

length:5,

},"splitLine": { //网格线

"show": false},

inverse:'true', //排序

axisLine: {

show:false,

lineStyle: {

color:'#fff',

}

},

data: [//echarts下面显示名称

["${username.name}"],]

},

yAxis: [{

type:'value',

show:false,

position:'top',

axisTick: {

show:false},

axisLine: {

show:false,

lineStyle: {

color:'#fff',

}

},

splitLine: {

show:false},

}],

series: [{

name:'能耗值',

type:'bar',

label: {

normal: {

show:true,

position:'top',

formatter:'{c}',

textStyle: {

color:'white' //color of value

}

}

},

itemStyle: {//通常情况下:

normal: {

barBorderRadius:8,//每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组

color: function (params) {var colorList =[

['#b250ff', 'rgba(11,42,84,.3)'],

['#ff9717', 'rgba(11,42,84,.3)'],

['#61dbe8', 'rgba(11,42,84,.3)'],

['#1ace4a', 'rgba(11,42,84, 0.3)'],

];var index = params.dataIndex;if (params.dataIndex >=colorList.length) {

index= params.dataIndex -colorList.length;

}return new echarts.graphic.LinearGradient(0, 0, 0, 1,

[{

offset:0,

color: colorList[index][0]

},

{

offset:1,

color: colorList[index][1]

}

]);

},

},

},

barGap:'0%',

barCategoryGap:'50%',

data: arr//使用上面定义存储的数组

}]

};if (option && typeof option === "object") {

myChart.setOption(option,true);

}

注意:这个在使用各种标记库里面的标记时,要先在JSP文件的头部用来注明对它的引用。(很重要,有次错误排除好久都找不出来,后来后知后觉才发现问题)

结果:

这样,就可以看到在页面里我们看到相对应的Echarts图表显示出来啦,是不是比起简简单单的表格要更为简洁和直观呢。

echarts搭配MySQL_Echarts连接Mysql使用心得相关推荐

  1. python搭配什么数据库_教你如何优雅地用Python连接MySQL数据库

    作者 | Python语音识别 来源 | 深度学习与python(ID:PythonDC) 不管是机器学习.web开发或者爬虫,数据库都是绕不过去的.那么今天我们就来介绍Python如何Mysql数据 ...

  2. 解决远程连接mysql出现10038问题心得

    之前在虚拟机搭建lnmp环境,搭建好之后开发3306端口,进入mysql给root或其他账号开放远程权限,用Navicat就可以连接了. 现在公司就直接一个后端,所有后端工作要自己弄.昨天协助甲方在阿 ...

  3. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  4. 我的MYSQL学习心得(十六) 优化

    原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...

  5. mysql connector安装教程_通过安装MySQL Connector/Net实现VS2017 C#编程连接MySQL数据库-网络教程与技术 -亦是美网络...

    对编程有一定了解的小伙伴都知道,一般情况下使用微软的visual studio进行编程开发都会搭配自家的SQL server.Access数据库,而开发web程序一般情况下PHP搭配MySQL使用,但 ...

  6. 我的MYSQL学习心得(4) : 数据类型

    我的MYSQL学习心得(1) :简单语法 我的MYSQL学习心得(2) :数据类型宽度 我的MYSQL学习心得(3) : 查看字段长度 MYSQL里的BLOB数据类型 BLOB是一个二进制大对象,用来 ...

  7. hadoop读取mysql数据_Pyspark连接mysql、hive、hdfs 实例展示

    本文展示pyspark与mysql.hive.hdfs的连接实例.一是为了纪念:终于走过n个坑,自己搭配好本地hadoop环境:一是为了让还不会pyspark的人有个初步的印象,毕竟数据分析师除了会使 ...

  8. JDBC连接MySQL数据库及示例

    JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  9. php 模板 php + mysql + myodbc,连接MySQL数据库在ASP中,就用MyODBC

    我们大家都知道ASP与MySQL连接现在应用最为广泛的两种办法是,一是使用组件,经常使用的是MySQL(和PHP搭配之最佳组合)X,可惜价格很贵.另一个就是用MyODBC来连接MySQL数据库,下面我 ...

最新文章

  1. 韩国遭到日本制裁,三星被打回原形,原来是个组装工厂?
  2. Windows Server 2003显示中文为乱码(方框)的问题
  3. mysql 分词搜索_MySQL5.7分词全文检索思路
  4. 十年前的网易,新浪,维基百科,百度百科在手机上的打开效果
  5. 腾讯云 Centos 配置 JDK Tomcat Mysql
  6. python字符串前面去两位_在Python 3中删除字符串文字前面的'b'字符do
  7. The 2019 ICPC Asia Shanghai Regional Contest
  8. java 服务器读取客户端文件,java 服务器读取客户端文件
  9. linux部分基础命令总结,Linux常用基础命令总结
  10. nbu mysql linux备份软件,NBU备份linux/aix/unix下的db2数据库配置
  11. thymeleaf 默认选中下拉框(select option)
  12. Educoder计算机数据表示实验(HUST)第2关:汉字机内码获取实验
  13. Android 开发调用百度地图客户端
  14. 职场新人入门指南(干货)
  15. G: LZY的计算器
  16. mysql查看被锁住的表
  17. 摩托罗拉Android系统,摩托罗拉Droid官方Android 2.2系统详细功能展示
  18. SQL server management studio 使用
  19. Marlin固件之二:源代码详解与移植
  20. 两个字符串匹配度算法

热门文章

  1. Vertical Menu ver4
  2. char *a 与char a[] 的区别
  3. mysql远程连接数据库的二种方法_mysql 远程连接数据库的二种方法
  4. 卷积核的数量是不是越多越好?-分类0,5
  5. mac ssh 安装mysql_mac上安装mysql
  6. sql删除过程的命令是什么_一个删除表字段的自动化执行工单的思考
  7. linux服务器垃圾箱,如何将Linux rm命令删除的文件放入垃圾箱
  8. mac 将本地代码上传到github_教你使用mac上传本地iOS代码到github
  9. 【Paper】23_[14]A Decentralized Approach to Formation Maneuvers
  10. 第十四章 降维操作-机器学习老师板书-斯坦福吴恩达教授