📄 userdao.java
字号:
package dao;
import java.util.ArrayList;
import java.util.List;
import model.Jadwal;
import model.ObjectPaging;
import model.Semester;
import model.User;
import org.hibernate.Query;
import org.hibernate.Session;
public class UserDAO {
int userPerPage=20;
public UserDAO() {
}
public boolean usernameIsUsed(String username) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
User user=null;
boolean isUsed=false;
try {
user=(User)session.createQuery("SELECT user FROM User user WHERE user.username= :input")
.setParameter("input",username).uniqueResult();
if(user!=null) {
isUsed=true;
}
} catch(Exception ex) {
throw ex;
}
return isUsed;
}
public User loadUser(long id) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
User user=null;
try {
user=(User)session.load(User.class,id);
} catch(Exception ex) {
throw ex;
}
return user;
}
public User login(String username,String password) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
User user=null;
try {
user=(User)session.createQuery("SELECT user FROM User user WHERE user.username= :input")
.setParameter("input",username).uniqueResult();
if(user!=null) {
if(!user.getPassword().equals(password)) {
user=null;
} else if(user.getLevel()==1) {
if((new MatakuliahDAO().getListMatakuliah().size()!=0)&&(new RuangDAO().getListRuang().size()!=0)&&(new DosenDAO().getListDosen().size()!=0)) {
if(new SemesterDAO().getListSemester().size()==0) {
Semester semester=new Semester();
semester.setNama("Semester ZERO");
semester.setTahunAjaran("1984");
semester.setRegistrasiAwal("1984-06-06");
semester.setRegistrasiAkhir("1984-06-06");
new ObjectDAO().insert(semester);
Jadwal jadwal=new Jadwal();
jadwal.setMatakuliah(new MatakuliahDAO().loadMatakuliah(1));
jadwal.setRuang(new RuangDAO().loadRuang(1));
jadwal.setDosen(new DosenDAO().loadDosen(1));
jadwal.setSemester(new SemesterDAO().loadSemester(1));
jadwal.setAksara("Z");
jadwal.setHari("Senin");
jadwal.setJamMulai("11:00");
jadwal.setJamSelesai("11:00");
jadwal.setKapasitas(0);
new ObjectDAO().insert(jadwal);
}
} else {
user=null;
}
}
}
} catch(Exception ex) {
throw ex;
}
return user;
}
//=======NO PAGING=======
public List getListUser(String keyWord) throws Exception {
HibernateUtil.beginTransaction();
Session session=HibernateUtil.getSession();
List list=new ArrayList();
try {
list=session.createQuery("SELECT user FROM User user WHERE user.username LIKE :input")
.setParameter("input","%"+keyWord+"%").list();
} catch(Exception ex) {
throw ex;
}
return list;
}
//=======NO PAGING=======
//=======PAGING=======
public ObjectPaging getListUser(int pageNumber,String keyWord) throws Exception {
HibernateUtil.beginTransaction();
ObjectPaging objectPaging=new ObjectPaging();
int totalItem=getListUser(keyWord).size();
int totalPage=totalItem/userPerPage;
if(totalItem%userPerPage>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 user FROM User user WHERE user.username LIKE :input")
.setParameter("input","%"+keyWord+"%");
list=query.setFirstResult(userPerPage*(pageNumber-1))
.setMaxResults(userPerPage).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 + -