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中获取结果。