Java连接数据库怎么按要求筛选并统计数量?求大家给我写一个简单的例子,感谢!
假设有一个名为 students
的表,其中包含 id
、name
、age
和 gender
四个字段,需要按条件筛选数据并统计符合条件的数量。
首先需要连接数据库,假设使用的是 MySQL 数据库,可以使用以下方式连接:
import java.sql.*;
public class ConnectMySQL {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/students";
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
System.out.println("Creating statement...");
stmt = conn.createStatement();
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("Goodbye!");
}
}
连接成功后,执行 SQL 语句来筛选数据了。假设需要找出年龄大于等于18岁且性别为女的学生数量,可以使用以下语句:
String sql = "SELECT COUNT(*) FROM students WHERE age >= 18 AND gender = '女'";
ResultSet rs = stmt.executeQuery(sql);
if(rs.next()){
int count = rs.getInt(1);
System.out.println("符合条件的学生数量为:" + count);
}
这个网上教程还是挺多的,跟着一步一步来就可以了,设置变量这些不是很难
使用Java连接数据库并按照指定条件筛选和统计数量的方法:
Class.forName("com.mysql.jdbc.Driver")
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "root";
Connection connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
String query = "SELECT COUNT(*) FROM users WHERE age > 18";
ResultSet resultSet = statement.executeQuery(query);
if (resultSet.next()) {
int count = resultSet.getInt(1);
System.out.println("满足条件的数据数量为:" + count);
}
String query = "SELECT * FROM users WHERE age > ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, 18);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("名字:" + name + ",年龄:" + age);
}
以上是Java连接数据库并按照指定条件筛选和统计数量的简单例子,可以根据业务需求进行修改和扩展。