java springmvc+mybatis+echarts,基于springboot+mybatis+echarts实现数据可视化

工程目录:

80105d2913b45814fa9848aa51435c96.png

一、首先定义实体类entity

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagecom.zjp.echartsdemo.entity;2

3 public classProvince {4 publicString getName() {5 returnname;6 }7

8 public voidsetName(String name) {9 this.name =name;10 }11

12 public intgetNums() {13 returnnums;14 }15

16 public void setNums(intnums) {17 this.nums =nums;18 }19

20 privateString name;21 private intnums;22 }

View Code

二、.写DAO层的mapper接口和对应的映射文件mapper.xml

1 packagecom.zjp.echartsdemo.dao;2

3 importcom.zjp.echartsdemo.entity.Province;4 importorg.apache.ibatis.annotations.Mapper;5

6 importjava.util.List;7

8 @Mapper9 public interfaceprovinceMapper {10 public ListselectAll();11 }

1 <?xml version="1.0" encoding="UTF-8"?>

2

3

4

5

6

7

8

9

10

11

12 select name,nums from province13

14

15

注意:

接口定义有以下特点:

1.Mapper 接口方法名和 CategoryMapper.xml 中定义的每个 sql 的 id 同名。

2.Mapper 接口方法的输入参数类型和 CategoryMapper.xml 中定义的 sql 的parameterType 类型相同。

3.Mapper 接口的返回类型和 CategoryMapper.xml 中定义的 sql 的 resultType 类型相同。

XML文件有以下特点:

1.xml文件的namespace要写成mapper接口的路径。

2.sql的id和mapper中的方法名要对应起来,比如上面面,mapper中方法名为selectAll,insert的sql标签id也要为selectAll

三、定义service接口以及接口的实现类

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

packagecom.zjp.echartsdemo.service;importcom.zjp.echartsdemo.entity.Province;importorg.springframework.stereotype.Service;importjava.util.List;

@Servicepublic interfaceIprovinceService {public ListselectAll();

}

View Code

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagecom.zjp.echartsdemo.service.impl;2

3 importcom.zjp.echartsdemo.dao.provinceMapper;4 importcom.zjp.echartsdemo.entity.Province;5 importcom.zjp.echartsdemo.service.IprovinceService;6 importorg.springframework.beans.factory.annotation.Autowired;7 importorg.springframework.stereotype.Service;8

9 importjava.util.List;10 @Service11 public class IprovinceImpl implementsIprovinceService {12 @Autowired13 provinceMapper pMapper;14 @Override15 public ListselectAll(){16 return this.pMapper.selectAll();17 }18 }

View Code

其中,在service的实现类中,实现方法中调用的是mapper接口中的方法。

四、定义controller

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagecom.zjp.echartsdemo.controller;2

3 importcom.zjp.echartsdemo.dao.provinceMapper;4 importcom.zjp.echartsdemo.entity.Province;5 importcom.zjp.echartsdemo.service.IprovinceService;6 importorg.springframework.beans.factory.annotation.Autowired;7 importorg.springframework.stereotype.Controller;8 importorg.springframework.web.bind.annotation.RequestMapping;9 importorg.springframework.web.bind.annotation.ResponseBody;10

11 importjava.util.ArrayList;12 importjava.util.List;13

14 @Controller15 public classcontroller {16 @Autowired17 IprovinceService pService;18 @RequestMapping("/getdata")19 @ResponseBody20 public ListshowData(){21 List provinceArrayList = new ArrayList<>();22 provinceArrayList =pService.selectAll();23 returnprovinceArrayList;24 }25 @RequestMapping("/")26 publicString index(){27 return "index";28 }29

30 }

View Code

五、编写html页面

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1

2

3

4

5

ECharts

6

7

8

9

10

11 *{margin:0;padding:0}12 html,body{13 width:100%;14 height:100%;15 }16 /*#main{*/

17 /*width:600px;*/

18 /*height:450px;*/

19 /*margin: 150px auto;*/

20 /*border:1px solid #ddd;*/

21 /*}*/

22 /*默认长宽比0.75*/

23 .aa{24 /*width: 200px;*/

25 /*height: 200px;*/

26 text-align: center;27 background: #000;28 color: #fff;29 font-size: 28px;30 }31

32

33

34

35

全国案件分布可视化系统

36

37

38

39

40 //基于准备好的dom,初始化echarts实例

41 var myChart = echarts.init(document.getElementById('main'));42

43 //新建productName与nums数组来接受数据,因为我们

44 var Name =[];45 var nums =[];46 var datatemp =[];47 //AJAX接收数据主体

48 $.ajax({49 type:"GET",50 url:"/getdata",51 dataType:"json",52 async:false,53 success:function(result) {54 for (var i = 0; i < result.length; i++){55 Name.push(result[i].name);56 nums.push(result[i].nums);57 var ob = {name:"",value:""};58 ob.name =result[i].name;59 ob.value =result[i].nums;60 datatemp.push(ob);61 }62

63 },64 error :function(errorMsg) {65 alert("获取后台数据失败!");66 }67 });68 //指定图表的配置项和数据

69 var option ={70 title: {71 text: '民事案件全国分布'

72 },73 tooltip: {},74 legend: {75 data:['案件数量']76 },77 xAxis: {78 //结合

79 data: Name80 },81

82 yAxis: {},83 series: [{84 name: '案件数量',85 type: 'bar',86 //结合

87 data: nums88 }]89 };90

91 //使用刚指定的配置项和数据显示图表。

92 myChart.setOption(option);93

94 var myChart2 = echarts.init(document.getElementById('main3'));95

96 var option2 ={97 title : {98 text: '民事案件全国分布情况',99 subtext: '',100 x:'center'

101 },102 tooltip : {103 trigger: 'item',104 formatter: "{a}
{b} : {c} ({d}%)"

105 },106 legend: {107 orient: 'vertical',108 left: 'left',109 },110 series : [111 {112 name: '访问来源',113 type: 'pie',114 radius : '55%',115 center: ['50%', '60%'],116 data:(function() {117

118 var datas =[];119 $.ajax({120 type:"POST",121 url:"/getdata",122 dataType:"json",123 async:false,124 success:function(result) {125

126 for (var i = 0; i < result.length; i++){127 datas.push({128 "value":result[i].nums, "name":result[i].name129 })130 }131

132 }133 })134 returndatas;135

136 })(),137 itemStyle: {138 emphasis: {139 shadowBlur: 10,140 shadowOffsetX: 0,141 shadowColor: 'rgba(0, 0, 0, 0.5)'

142 }143 }144 }145 ]146 };147 myChart2.setOption(option2);148

149

150 var myChart3 = echarts.init(document.getElementById('main2'));151 option ={152 tooltip: {153 formatter:function(params,ticket, callback){154 return params.seriesName+'
'+params.name+':'+params.value155 }156 },157

158 visualMap: {159 min: 0,160 max: 1500,161 left: 'left',162 top: 'bottom',163 text: ['高','低'],164 inRange: {165 color: ['#e5e0e0', '#490104']166 },167 show:true

168 },169 geo: {170 map: 'china',171 roam: false,172 zoom:1.23,173 label: {174 normal: {175 show: true,176 fontSize:'10',177 color: 'rgba(0,0,0,0.7)'

178 }179 },180 itemStyle: {181 normal:{182 borderColor: 'rgba(0, 0, 0, 0.2)'

183 },184 emphasis:{185 areaColor: '#F3B329',186 shadowOffsetX: 0,187 shadowOffsetY: 0,188 shadowBlur: 20,189 borderWidth: 0,190 shadowColor: 'rgba(0, 0, 0, 0.5)'

191 }192 }193 },194

195 series : [196 {197 name: '民事案件',198 type: 'map',199 geoIndex: 0,200 data:datatemp,201 }202

203 ]204 };205 myChart3.setOption(option);206

207

View Code

通过AjAx与服务器进行数据交换,AjAx可以使用网页实现布局更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

六、效果展示

e73e7b6cd4775ecc8f7bc20cc3bbea2e.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM是指Spring+SpringMVC+MyBatis的集成开发环境。MySQL是一个关系型数据库管理系统,用于存储和管理数据。Maven是一个项目管理和构建工具,可以自动下载所需的类库和插件,并管理项目的依赖关系。Idea是一个Java集成开发环境(IDE),提供了开发、调试和部署Java代码的工具。 在SSM MySQL Maven Idea MyBatis Spring SpringMVC的集成开发环境下,我们可以通过Maven构建项目,引入相应的依赖库。Idea提供了可视化的界面,方便我们进行开发和调试工作。 首先,我们可以使用Maven来管理项目的依赖。在pom.xml文件中添加相应的依赖,Maven会自动下载并引入到项目中。 其次,我们可以使用Idea创建Spring项目,并配置相关的配置文件。在Idea的配置界面中,我们可以设置项目的数据库连接信息和配置MyBatis的相关内容。 然后,我们可以使用MyBatis来操作MySQL数据库。在MyBatis的mapper文件中编写SQL语句,并在Spring中配置相应的bean,使其可以与数据库进行交互。 此外,我们还可以使用SpringMVC来开发Web应用。在SpringMVC中,我们可以通过配置相应的请求映射和控制器来处理请求,并返回相应的结果。 最后,通过整合Spring、SpringMVCMyBatis,我们可以实现业务逻辑与数据库的交互,并通过Maven进行项目构建和管理。这样,我们就可以在SSM MySQL Maven Idea MyBatis Spring SpringMVC的集成开发环境中进行基于这些框架和工具的开发工作了。 总之,掌握SSM MySQL Maven Idea MyBatis Spring SpringMVC的集成开发环境,意味着我们可以利用这些强大工具和框架来进行Java开发,并能够高效地开发出优质的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值