package org.mgq.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.mgq.model.Student;
import org.mgq.util.DBstudent;
public class StudentImpl implements StudentInterface{
DBstudent db=new DBstudent();
Connection conn=db.getConnection();
public List<Student> queryByPage(int pageSize,int pageNow){
String sql="SELECT * FROM(SELECT A.*, ROWNUM RN FROM" +
"(SELECT * FROM student) A WHERE ROWNUM <= ?)" +
" WHERE RN >= ?";
List<Student> list=new ArrayList<Student>();
try {
if(conn!=null&&pageSize>0&&pageNow>0){
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, pageNow*pageSize);
pstmt.setInt(2, pageSize*(pageNow-1)+1);
ResultSet rs=pstmt.executeQuery();
Student student = null;
while(rs.next()){
student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setAge(rs.getInt("age"));
list.add(student);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public Student query(int count,int page){
int i=5;
String sql="select count(*) from student";
Student student=new Student();
try {
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
count=rs.getInt(1);
}
if(count%i!=0){
page=count/i+1;
}else{
page=count/i;
}
student.setCount(count);
student.setPage(page);
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return student;
}
}