国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot整合Echarts實現用戶人數和性別展示

這篇具有很好參考價值的文章主要介紹了SpringBoot整合Echarts實現用戶人數和性別展示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、背景

在Web應用開發(fā)中,經常需要使用圖表來展示數據,而Echarts是一個非常優(yōu)秀的圖表庫。SpringBoot是一個非常流行的Java Web框架,它可以快速搭建Web應用。本文將介紹如何使用SpringBoot集成Echarts,實現展示用戶人數和性別的功能。
SpringBoot整合Echarts實現用戶人數和性別展示

二、功能實現流程

1. 創(chuàng)建數據庫表

首先,我們需要創(chuàng)建數據庫表,用于存儲用戶信息。本文中,我們創(chuàng)建一個名為“user”的表,用于存儲用戶的id、姓名、性別等信息。

2. 創(chuàng)建SpringBoot項目

使用IDEA等工具,創(chuàng)建一個SpringBoot項目,并加入相應的依賴。本文中,我們加入的主要依賴有SpringBoot、MyBatis、MySQL等。

3. 實現數據訪問層

使用MyBatis框架,實現對用戶信息的增刪改查等操作。同時,我們也需要實現一個接口用于查詢用戶的性別比例。

4. 實現業(yè)務邏輯層

在業(yè)務邏輯層中,我們需要完成對應的功能代碼。主要包括:添加用戶、刪除用戶、修改用戶信息、查詢所有用戶、查詢用戶性別比例等操作。其中,查詢用戶性別比例的操作需要使用Echarts來生成相應的圖表。

5. 實現控制層

在控制層中,我們需要編寫對應的接口,用于接收前端的請求,并調用相應的業(yè)務邏輯層方法來完成相應的操作。同時,我們也需要編寫相應的HTML頁面,用于展示用戶人數和性別比例的圖表。

6. 實現前端頁面

使用Vue框架,實現前端頁面,并通過接口調用,將后臺數據展示到前端頁面上。

三、代碼實現

本文提供一個示例代碼,代碼實現過程中,使用了SpringBoot、MyBatis、MySQL等主流技術,實現了基本的增刪改查操作、以及查詢用戶性別比例并用Echarts展示的功能。示例代碼中的表名為“user”,根據實際情況可做相應修改。

  • 數據庫設計
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `gender` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
  • 數據訪問層代碼
@Mapper
@Component
public interface UserDao {

    int insert(User user);

    int delete(int userId);

    int update(User user);

    List<User> selectAll();

    int countByGender(int gender);
}
  • 業(yè)務邏輯層代碼
@Service
public class UserService {

    @Autowired
    private UserDao userDao;

    public void addUser(User user) {
        userDao.insert(user);
    }

    public void deleteUser(int userId) {
        userDao.delete(userId);
    }

    public void updateUser(User user) {
        userDao.update(user);
    }

    public List<User> getAllUsers() {
        return userDao.selectAll();
    }

    public Map<String, Integer> getUserGenderRatio() {
        int maleCount = userDao.countByGender(1);
        int femaleCount = userDao.countByGender(0);

        Map<String, Integer> resultMap = new HashMap<>();
        resultMap.put("male", maleCount);
        resultMap.put("female", femaleCount);

        return resultMap;
    }
}
  • 控制層代碼
@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping("/add")
    public String addUser(@RequestBody User user) {
        userService.addUser(user);
        return "success";
    }

    @PostMapping("/delete")
    public String deleteUser(@RequestParam("userId") int userId) {
        userService.deleteUser(userId);
        return "success";
    }

    @PostMapping("/update")
    public String updateUser(@RequestBody User user) {
        userService.updateUser(user);
        return "success";
    }

    @GetMapping("/all")
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @GetMapping("/ratio")
    public Map<String, Integer> getUserGenderRatio() {
        return userService.getUserGenderRatio();
    }
}
  • 前端頁面代碼
<!DOCTYPE html>
<html>
<head>
  <title>用戶信息展示</title>
  <meta charset="utf-8">

  <!-- 引入Echarts -->
  <script src="https://cdn.jsdelivr.net/npm/echarts@4.9.0/dist/echarts.min.js"></script>

  <!-- 引入Vue -->
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

  <!-- 引入axios -->
  <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
  <div id="app">
    <!-- 顯示用戶總數 -->
    <p>共有{{ userList.length }}個用戶</p>

    <!-- 顯示用戶性別比例 -->
    <div id="genderRatio" style="width: 600px;height:400px;"></div>
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        userList: []
      },
      mounted() {
        this.getUserList();
        this.showGenderRatio();
      },
      methods: {
        getUserList() {
          axios.get('/users/all')
            .then(response => {
              this.userList = response.data;
            })
            .catch(error => {
              console.log(error);
            })
        },
        showGenderRatio() {
          axios.get('/users/ratio')
            .then(response => {
              let maleCount = response.data.male;
              let femaleCount = response.data.female;

              // 使用Echarts生成圖表
              let chart = echarts.init(document.getElementById('genderRatio'));
              chart.setOption({
                title: {
                  text: '用戶性別比例',
                  subtext: '男性/女性'
                },
                tooltip: {
                  trigger: 'item',
                  formatter: '{a} <br/>: {c} (n5n3t3z%)'
                },
                legend: {
                  orient: 'vertical',
                  left: 'left',
                  data: ['男性', '女性']
                },
                series: [
                  {
                    name: '性別',
                    type: 'pie',
                    radius: ['50%', '70%'],
                    avoidLabelOverlap: false,
                    label: {
                      show: false,
                      position: 'center'
                    },
                    emphasis: {
                      label: {
                        show: true,
                        fontSize: '30',
                        fontWeight: 'bold'
                      }
                    },
                    labelLine: {
                      show: false
                    },
                    data: [
                      {value: maleCount, name: '男性'},
                      {value: femaleCount, name: '女性'}
                    ]
                  }
                ]
              });
            })
            .catch(error => {
              console.log(error);
            })
        }
      }
    });
  </script>
</body>
</html>

四、總結

本文介紹了如何使用SpringBoot集成Echarts,實現展示用戶人數和性別的功能。通過數據庫設計、實現數據訪問層、業(yè)務邏輯層和控制層的代碼編寫,以及前端頁面的開發(fā),本文詳細地介紹了SpringBoot整合Echarts的實現步驟和代碼。

其中,使用Vue框架進行前端頁面開發(fā),增加了Web應用的可擴展性和易用性。同時,通過使用Echarts圖表庫,我們可以讓數據呈現更為直觀清晰,增強用戶體驗。

希望本文對讀者在Web應用開發(fā)中的圖表展示有所幫助。文章來源地址http://www.zghlxwxcb.cn/news/detail-436238.html

到了這里,關于SpringBoot整合Echarts實現用戶人數和性別展示的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Listener監(jiān)聽器,實現一個顯示在線用戶人數

    Listener監(jiān)聽器,實現一個顯示在線用戶人數

    目錄 Listener監(jiān)聽器,實現一個顯示在線用戶人數 每博一文案 1. Listener 監(jiān)聽器的概述 2. Listener 監(jiān)聽器在 Servlet 的體系結構 3. 編寫一個 Listener 監(jiān)聽器的過程 3.1 ServletContextListener 4. 其他Listener 監(jiān)聽器的使用: 4.1 ServletRequestListener 4.2 HttpSessionListener 4.3 HttpSessionAttributeListener 4.4 H

    2024年02月03日
    瀏覽(58)
  • springboot整合security,mybatisPlus,thymeleaf實現登錄認證及用戶,菜單,角色權限管理

    springboot整合security,mybatisPlus,thymeleaf實現登錄認證及用戶,菜單,角色權限管理

    本系統為springboot整合security,mybatisPlus,thymeleaf實現登錄認證及用戶,菜單,角色權限管理。頁面為極簡模式,沒有任何渲染。 源碼:https://gitee.com/qfp17393120407/spring-boot_thymeleaf 架構截圖 此處以用戶表為例,其他表數據可在源碼獲取。 用戶表 共用屬性 共用屬性自動填充配置

    2024年02月07日
    瀏覽(23)
  • SpringBoot整合echarts,前后端邏輯

    ?官方網站:https://echarts.apache.org/examples/zh/index.html 0.安裝echarts 1.編寫html 用來顯示圖表,觸發(fā)顯示圖標的按鈕 2.引入echart 四版本 五版本 3.編寫調用方法 編寫方法getDataSta(),用來獲取后端數據 4.編寫JS showChart():用來獲取后端傳來的數據 其中格式必須為json數組格式 setChart(

    2024年02月05日
    瀏覽(13)
  • 【項目實戰(zhàn)】一、Spring boot整合JWT、Vue案例展示用戶鑒權

    【項目實戰(zhàn)】Spring boot整合JWT、Vue案例展示用戶鑒權 【微服務實戰(zhàn)】JWT

    2024年02月09日
    瀏覽(20)
  • echarts——實現自動輪播展示tooltips——技能提升

    echarts——實現自動輪播展示tooltips——技能提升

    最近在做 echarts 看板的時候,經常會遇到下面的這種情況,給出的數值比較相近,所以在頁面的展示上會出現重疊的情況。但是又無法保證數值能夠有很大程度的分開。(如何數值有很大的分離,必須10以下,200以上這種的,就不會有這種問題出現)。 如果遇到這種數值相近

    2024年02月03日
    瀏覽(20)
  • ChatGPT HTML JS Echarts實現熱力圖展示

    熱力圖 是一種常用的數據可視化圖表,主要用于展示數據的分布和密度情況。它通過使用不同顏色的熱點來表示數據在地理或二維空間上的分布情況,從而直觀地顯示出數據的密集程度和趨勢。 熱力圖的功能和作用如下: 1. 數據分布展示: 熱力圖可以將大量數據以熱點的形

    2024年02月10日
    瀏覽(21)
  • SpringBoot整合調用微信模板方法實現微信公眾號消息通知推送,Java實現微信公眾號給關注用戶推送自定義消息通知(手把手從0到1)

    SpringBoot整合調用微信模板方法實現微信公眾號消息通知推送,Java實現微信公眾號給關注用戶推送自定義消息通知(手把手從0到1)

    目錄 概述 公眾號給關注用戶推送自定義消息 一、申請公眾號模板消息 二、獲取安裝“web開發(fā)者工具” 三、微信網頁授權說明 四、微信網頁授權 - 流程時序圖 五、HTTPClient 實現微信公眾號消息推送與發(fā)布(四步走) 六、通過weixin-java-mp SDK實現微信公眾號消息推送與發(fā)布(七

    2024年02月10日
    瀏覽(41)
  • Spring Boot整合Kafka+SSE實現實時數據展示

    2024年3月10日 不使用Rabbitmq或者Rocketmq是因為Kafka是Hadoop集群下的組成部分,對于大數據的相關開發(fā)適應性好,且當前業(yè)務場景下不需要使用死信隊列,不過要注意Kafka對于更新時間慢的數據拉取也較慢,因此對與實時性要求高可以選擇其他MQ。 使用消息隊列是因為該中間件具有

    2024年04月24日
    瀏覽(30)
  • Hadoop項目案例:電影網站用戶性別預測

    Hadoop項目案例:電影網站用戶性別預測

    學習目標: ? ? ? ?(1)理解掌握KNN算法的原理 ? ? ? ?(2)掌握以MapReducer編程實現KNN算法 ? ? ? ?(3)掌握以MapReducer編程實現KNN分類器評估 實現的Hadoop框架如下: ? ? 任務背景? ? ? ? ????????XX網站是一個深受用戶歡迎的電影網站,它提供了大量的電音介紹及評論

    2024年02月08日
    瀏覽(55)
  • 【Spark+Hadoop+Hive+MySQL+Presto+SpringBoot+Echarts】基于大數據技術的用戶日志數據分析及可視化平臺搭建項目

    【Spark+Hadoop+Hive+MySQL+Presto+SpringBoot+Echarts】基于大數據技術的用戶日志數據分析及可視化平臺搭建項目

    點我獲取項目數據集及代碼 隨著我國科學技術水平的不斷發(fā)展,計算機網絡技術的廣泛應用,我國已經步入了大數據時代。在大數據背景下,各種繁雜的數據層出不窮,一時難以掌握其基本特征及一般規(guī)律,這也給企業(yè)的運營數據分析工作增添了不小的難度。在大數據的背景

    2024年02月10日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包