使用Java实现Informix聚合查询
要使用Java实现Informix各种聚合查询,你需要完成以下步骤:
1. 导入必要的依赖:你可以使用Informix JDBC驱动来连接Informix数据库。你可以在Maven项目中添加以下依赖:
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>ifxjdbc</artifactId>
<version>4.50.4.0</version>
</dependency>
2. 创建数据库连接:使用以下代码示例创建Informix数据库连接:
import java.sql.*;
public class InformixConnectionUtil {
public static Connection getConnection() {
Connection connection = null;
String jdbcUrl = "jdbc:informix-sqli://localhost:9088/mydatabase:user=myuser;password=mypassword";
try {
Class.forName("com.informix.jdbc.IfxDriver");
connection = DriverManager.getConnection(jdbcUrl);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return connection;
}
}
确保使用正确的JDBC URL、用户名和密码。
3. 实现各种聚合查询:使用下面的代码示例来实现各种数据聚合查询。
a) 计数聚合查询:
import java.sql.*;
public class CountQueryExample {
public static void main(String[] args) {
try (Connection connection = InformixConnectionUtil.getConnection()) {
String sql = "SELECT COUNT(*) FROM mytable";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
int count = resultSet.getInt(1);
System.out.println("Count: " + count);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
b) 求和聚合查询:
import java.sql.*;
public class SumQueryExample {
public static void main(String[] args) {
try (Connection connection = InformixConnectionUtil.getConnection()) {
String sql = "SELECT SUM(salary) FROM employees";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
double sum = resultSet.getDouble(1);
System.out.println("Sum: " + sum);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
c) 平均值聚合查询:
import java.sql.*;
public class AverageQueryExample {
public static void main(String[] args) {
try (Connection connection = InformixConnectionUtil.getConnection()) {
String sql = "SELECT AVG(score) FROM scores";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
double average = resultSet.getDouble(1);
System.out.println("Average: " + average);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
d) 最大值聚合查询:
import java.sql.*;
public class MaxQueryExample {
public static void main(String[] args) {
try (Connection connection = InformixConnectionUtil.getConnection()) {
String sql = "SELECT MAX(price) FROM products";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
double max = resultSet.getDouble(1);
System.out.println("Max: " + max);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
e) 最小值聚合查询:
import java.sql.*;
public class MinQueryExample {
public static void main(String[] args) {
try (Connection connection = InformixConnectionUtil.getConnection()) {
String sql = "SELECT MIN(stock) FROM products";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
int min = resultSet.getInt(1);
System.out.println("Min: " + min);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
确保在代码中替换相应的表名、列名和条件。
这样,你就可以使用Java实现Informix各种聚合查询了。