package hibernateTest
import java.util.List
import java.util.Scanner
import org.hibernate.Session
import org.hibernate.SessionFactory
import org.hibernate.Transaction
import org.hibernate.cfg.Configuration
import org.hibernate.query.Query
public class MainTest {
public static void main(String[] args) {
Configuration cfg=new Configuration()
cfg.configure("hibernateTest/hibernate.cfg.xml")
SessionFactory sf = cfg.buildSessionFactory()
Session session = sf.openSession()
@SuppressWarnings("resource")
Scanner in=new Scanner(System.in)
int start
int currPage
int pageNum
int conNum
int perPageNum = 5
do {
String hql = "FROM hibernateTest.Info"
@SuppressWarnings("unchecked")
Query<Info> query = session.createQuery(hql)
conNum=query.list().size()
if(conNum % perPageNum == 0) {
pageNum = conNum / perPageNum
}else {
pageNum = conNum / perPageNum + 1
}
System.out.println("共 "+conNum+" 记录")
System.out.println("每页 "+perPageNum+" 记录")
System.out.println("共 "+pageNum+" 页")
System.out.println("输入页数:")
currPage = in.nextInt()
start = (currPage-1) * perPageNum
query.setFirstResult(start)
query.setMaxResults(perPageNum)
List<Info> results = query.list()
System.out.println()
for(Info info2 : results){
System.out.print(info2.getName())
System.out.print(" ")
System.out.print(info2.getAge())
System.out.println()
}
}while(start!=-1)