📄 matakuliahdao.java
字号:
package dao;
import java.util.ArrayList;
import java.util.List;
import model.Fakultas;
import model.Matakuliah;
import model.ObjectPaging;
import model.Semester;
import org.hibernate.Query;
import org.hibernate.Session;
public class MatakuliahDAO {
int matakuliahPerPage=20;
public MatakuliahDAO() {
}
public boolean kodeIsUsed(String kode) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
Matakuliah matakuliah=null;
boolean isUsed=false;
try {
matakuliah=(Matakuliah)session.createQuery("SELECT matakuliah FROM Matakuliah matakuliah WHERE matakuliah.kode= :input")
.setParameter("input",kode).uniqueResult();
if(matakuliah!=null) {
isUsed=true;
}
} catch(Exception ex) {
throw ex;
}
return isUsed;
}
public Matakuliah loadMatakuliah(long id) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
Matakuliah matakuliah=null;
try {
matakuliah=(Matakuliah)session.load(Matakuliah.class,id);
} catch(Exception ex) {
throw ex;
}
return matakuliah;
}
//=======NO PAGING=======
public List getListMatakuliah() throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
List list=new ArrayList();
try {
list=session.createQuery("FROM Matakuliah").list();
} catch(Exception ex) {
throw ex;
}
return list;
}
public List getListMatakuliah(Semester semester,Fakultas fakultas) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
List list=new ArrayList();
try {
list=session.createQuery("SELECT DISTINCT jadwal.matakuliah FROM Jadwal jadwal WHERE jadwal.semester= :input1 AND jadwal.matakuliah.fakultas= :input2")
.setParameter("input1",semester).setParameter("input2",fakultas).list();
} catch(Exception ex) {
throw ex;
}
return list;
}
//=======NO PAGING=======
//=======PAGING=======
public ObjectPaging getListMatakuliah(int pageNumber) throws Exception {
HibernateUtil.beginTransaction();
ObjectPaging objectPaging=new ObjectPaging();
int totalItem=getListMatakuliah().size();
int totalPage=totalItem/matakuliahPerPage;
if(totalItem%matakuliahPerPage>0)totalPage++;
if(pageNumber<1) {
pageNumber=1;
}
if(pageNumber>totalPage) {
pageNumber=totalPage;
}
Session session=HibernateUtil.getSession();
List list=new ArrayList();
try {
Query query=session.createQuery("FROM Matakuliah");
list=query.setFirstResult(matakuliahPerPage*(pageNumber-1))
.setMaxResults(matakuliahPerPage).list();
} catch(Exception ex) {
throw ex;
}
int beginPagePaging=pageNumber-5;
int endedPagePaging=pageNumber+5;
if(beginPagePaging<1) {
beginPagePaging=1;
endedPagePaging=11;
if(endedPagePaging>totalPage) {
endedPagePaging=totalPage;
}
} else if(endedPagePaging>totalPage) {
endedPagePaging=totalPage;
beginPagePaging=totalPage-10;
if(beginPagePaging<1) {
beginPagePaging=1;
}
}
List listPaging=new ArrayList();
for(int i=beginPagePaging;i<=endedPagePaging;i++) {
listPaging.add(i);
}
objectPaging.setListObject(list);
objectPaging.setListPaging(listPaging);
objectPaging.setPageNumber(pageNumber);
objectPaging.setTotalPage(totalPage);
return objectPaging;
}
public ObjectPaging getListMatakuliah(Semester semester,Fakultas fakultas,int pageNumber) throws Exception {
HibernateUtil.beginTransaction();
ObjectPaging objectPaging=new ObjectPaging();
int totalItem=getListMatakuliah(semester,fakultas).size();
int totalPage=totalItem/matakuliahPerPage;
if(totalItem%matakuliahPerPage>0)totalPage++;
if(pageNumber<1) {
pageNumber=1;
}
if(pageNumber>totalPage) {
pageNumber=totalPage;
}
Session session=HibernateUtil.getSession();
List list=new ArrayList();
try {
Query query=session.createQuery("SELECT DISTINCT jadwal.matakuliah FROM Jadwal jadwal WHERE jadwal.semester= :input1 AND jadwal.matakuliah.fakultas= :input2")
.setParameter("input1",semester).setParameter("input2",fakultas);
list=query.setFirstResult(matakuliahPerPage*(pageNumber-1))
.setMaxResults(matakuliahPerPage).list();
} catch(Exception ex) {
throw ex;
}
int beginPagePaging=pageNumber-5;
int endedPagePaging=pageNumber+5;
if(beginPagePaging<1) {
beginPagePaging=1;
endedPagePaging=11;
if(endedPagePaging>totalPage) {
endedPagePaging=totalPage;
}
} else if(endedPagePaging>totalPage) {
endedPagePaging=totalPage;
beginPagePaging=totalPage-10;
if(beginPagePaging<1) {
beginPagePaging=1;
}
}
List listPaging=new ArrayList();
for(int i=beginPagePaging;i<=endedPagePaging;i++) {
listPaging.add(i);
}
objectPaging.setListObject(list);
objectPaging.setListPaging(listPaging);
objectPaging.setPageNumber(pageNumber);
objectPaging.setTotalPage(totalPage);
return objectPaging;
}
//=======PAGING=======
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -