📄 studentdao.java
字号:
package org.yangyang.dao;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.yangyang.bean.Course;
import org.yangyang.bean.Student;
import org.yangyang.db.DbCon;
public class StudentDao extends MainDao {
public StudentDao(){
super.sio = new DbCon().getSession();
}
/**
* Method showStudent 显示学生
* @param pagenum 开始的页数
* @param count 显示的个数
* @return List<Student>
*/
public List<Student> showStudent(int pagenum,int count){
List<Student> resultList;
//起始个数
int startnum = (pagenum - 1) * count;
//注入查找的表名
Criteria criteria = sio.createCriteria(Student.class);
//判断时候删除
criteria.add(Expression.isNull("deldate"));
//设置开始的个数
criteria.setFirstResult(startnum);
//设置最大查找的个数
criteria.setMaxResults(count);
//按编号降序排列
criteria.addOrder(Order.desc("id"));
//进行查找
resultList = criteria.list();
return resultList;
}
/**
* Method getSudentbyId 通过编号得到学生
* @param id 学生编号
*/
public Student getSudentbyId(String id){
//注入查找的表名
Criteria criteria = sio.createCriteria(Student.class);
//判断时候删除
criteria.add(Expression.eq("id",id));
//进行查找
Student stu = (Student) criteria.list().get(0);
return stu;
}
@Override
public int getPage(int count,Object obj) {
//总结果
int totalNum = 0;
//页面数
int pageNum = 0;
//注入查找的表名
Criteria criteria = sio.createCriteria(Student.class);
//判断是否删除
criteria.add(Expression.isNull("deldate"));
//查找总结果数
totalNum = criteria.list().size();
if(totalNum != 0){
//计算页面数
if(totalNum % count == 0){
pageNum = totalNum / count;
}else{
pageNum = totalNum / count + 1;
}
}else{
pageNum = -1;
}
return pageNum;
}
@Override
public void del(String id,String tablename){
//开启事务
trans = sio.beginTransaction();
//查找要删除的学生
String sql = "from org.yangyang.bean." + tablename + " tab where tab.id=" + id;
Student stu = (Student) sio.createQuery(sql).list().get(0);
//输入删除时间
stu.setDeldate(new Date());
//进行删除
sio.saveOrUpdate(stu);
//提交事务
trans.commit();
}
/**
* Method getSudentbyId 得到所有学生信息
* * @return List<Course>
*/
public List<Student> getAll(){
List<Student> result;
//注入查找的表名
Criteria criteria = sio.createCriteria(Student.class);
//判断是否删除
criteria.add(Expression.isNull("deldate"));
//进行查找
result = criteria.list();
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -