java对数据库增删改查并根据数据库数据画折线图
时间: 2024-05-07 14:19:55 浏览: 7
要对数据库进行增删改查操作,需要使用Java中的JDBC(Java Database Connectivity)技术。JDBC是Java提供的一种用于访问数据库的标准API,可以通过JDBC连接到各种关系型数据库,如MySQL、Oracle、SQL Server等。
下面是一个简单的Java程序示例,演示了如何使用JDBC对数据库进行增删改查操作:
```java
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 1. 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 建立数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 3. 创建PreparedStatement对象,执行SQL语句
ps = conn.prepareStatement("select * from student where id=?");
ps.setInt(1, 1);
rs = ps.executeQuery();
// 4. 处理查询结果
while (rs.next()) {
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("age"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 5. 关闭数据库连接
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
上述代码中,我们首先加载了MySQL的JDBC驱动,然后通过DriverManager获取数据库连接,创建PreparedStatement对象,执行SQL语句并处理查询结果,最后关闭数据库连接。
关于如何根据数据库数据画折线图,可以使用Java图形化界面库,如JFreeChart。JFreeChart是一个用Java编写的免费开源图表库,可以用于创建各种类型的统计图表,如折线图、柱状图、散点图等。
下面是一个简单的折线图示例,演示了如何使用JFreeChart根据数据库数据画折线图:
```java
import java.sql.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.data.category.*;
public class JFreeChartDemo {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 1. 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 建立数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 3. 创建PreparedStatement对象,执行SQL语句
ps = conn.prepareStatement("select * from sales");
rs = ps.executeQuery();
// 4. 处理查询结果
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
while (rs.next()) {
dataset.addValue(rs.getDouble("amount"), "Sales", rs.getString("month"));
}
JFreeChart chart = ChartFactory.createLineChart("Sales Report", "Month", "Amount", dataset, PlotOrientation.VERTICAL, true, true, false);
ChartFrame frame = new ChartFrame("Sales Report", chart);
frame.setVisible(true);
frame.setSize(800, 600);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 5. 关闭数据库连接
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
上述代码中,我们首先加载了MySQL的JDBC驱动,然后通过DriverManager获取数据库连接,创建PreparedStatement对象,执行SQL语句并处理查询结果,将数据添加到DefaultCategoryDataset对象中,并使用ChartFactory创建折线图,最后使用ChartFrame显示折线图。