淘先锋技术网

首页 1 2 3 4 5 6 7

Java在数据库操作中,查询数据是很常见的操作。在查询数据时,我们常常需要知道数据总条数,以便在分页时进行计算。下面,我们就来介绍一下如何使用Java查询数据和获取总条数。

//1.导入相关包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//2.获取数据库连接
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try {
// 加载MySql驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
//3.查询数据
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select * from user limit ?,?";
try {
pstmt = conn.prepareStatement(sql);
//设置分页参数
pstmt.setInt(1, (page-1)*pageSize);
pstmt.setInt(2, pageSize);
//执行查询操作
rs = pstmt.executeQuery();
while(rs.next()){ 
//处理查询结果 
} 
} catch (SQLException e) { 
e.printStackTrace(); 
} finally{ 
try{ 
if(rs != null){ 
rs.close(); 
} 
if(pstmt != null){ 
pstmt.close(); 
} 
if(conn != null){ 
conn.close(); 
} 
}catch(SQLException e){ 
e.printStackTrace(); 
} 
}
//4.获取总条数
int total = 0;
String countSql = "select count(*) from user";
try {
pstmt = conn.prepareStatement(countSql);
rs = pstmt.executeQuery();
if(rs.next()){
total = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
try{ 
if(rs != null){ 
rs.close(); 
} 
if(pstmt != null){ 
pstmt.close(); 
} 
if(conn != null){ 
conn.close(); 
} 
}catch(SQLException e){ 
e.printStackTrace(); 
} 
}

以上就是Java查询数据和获取总条数的代码示例。其中,对于查询数据,我们需要使用PreparedStatement来设置分页参数,并使用ResultSet遍历查询结果。对于获取总条数,我们需要执行一个select count(*)的操作,并从ResultSet中获取结果。