在Java EE中,帮我写一个java语言使用mysql中的数据利用echarts进行可视化饼状图代码
时间: 2024-03-01 22:55:30 浏览: 73
Springboot+mybatis+echarts实现数据可视化 折线图饼图柱状图
好的,这是一个简单的Java代码,使用MySQL数据库和ECharts库,在Java EE环境中生成一个饼状图可视化数据:
```java
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.github.abel533.echarts.*;
import com.github.abel533.echarts.data.*;
import com.github.abel533.echarts.series.*;
public class PieChartServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 数据库连接信息
String url = "jdbc:mysql://localhost:3306/db_name";
String user = "root";
String password = "password";
// 加载数据库驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("无法加载数据库驱动!");
e.printStackTrace();
return;
}
// 连接数据库
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println("无法连接数据库!");
e.printStackTrace();
return;
}
// 查询数据
String sql = "SELECT name, value FROM table_name";
List<PieData> data = new ArrayList<>();
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String name = rs.getString("name");
int value = rs.getInt("value");
data.add(new PieData(name, value));
}
} catch (SQLException e) {
System.out.println("无法查询数据!");
e.printStackTrace();
return;
}
// 生成饼状图
Option option = new Option();
option.title().text("数据分布情况");
Pie pie = new Pie("数据分布");
for (PieData d : data) {
pie.data(new PieData(d.getName(), d.getValue()));
}
option.series(pie);
// 输出HTML文件
String html = option.exportToHtml("pie.html");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(html);
out.close();
}
}
```
其中,需要注意的是:
- 需要先下载并导入ECharts库,否则代码无法编译通过。
- 数据库连接信息需要根据实际情况修改。
- 数据库查询语句需要根据实际情况修改,确保查询结果包含`name`和`value`两列数据。
- 生成的HTML文件会输出到浏览器中,可以在浏览器中查看饼状图。
阅读全文