studentdaoimpl.java
来自「java 框架核心技术编程」· Java 代码 · 共 75 行
JAVA
75 行
package org.lxh.impl;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.lxh.dao.StudentDAO;
import org.lxh.factory.DefaultSessionFactory;
import org.lxh.vo.Student;
public class StudentDAOImpl implements StudentDAO {
private Session session;
public StudentDAOImpl() {
this.session = DefaultSessionFactory.getSession();
}
public void delete(int sid) throws Exception {
String hql = "DELETE FROM Student WHERE sid=?";
Query q = this.session.createQuery(hql);
q.setInteger(0, sid);
q.executeUpdate();
this.session.beginTransaction().commit();
this.session.close();
}
public void insert(Student student) throws Exception {
this.session.save(student);
this.session.beginTransaction().commit();
this.session.close();
}
public List queryAll() throws Exception {
List all = null;
String hql = "FROM Student AS s";
Query q = this.session.createQuery(hql);
all = q.list();
this.session.close();
return all;
}
public List queryByLike(String cond) throws Exception {
List all = null;
String hql = "FROM Student AS s WHERE s.name LIKE ? OR s.sex LIKE ?";
Query q = this.session.createQuery(hql);
q.setString(0, "%" + cond + "%");
q.setString(1, "%" + cond + "%");
all = q.list();
this.session.close();
return all;
}
// 更新的时候使用
public Student queryBySId(int sid) throws Exception {
Student s = null;
String hql = "FROM Student AS s WHERE s.sid=?";
Query q = this.session.createQuery(hql);
q.setInteger(0, sid);
List all = q.list();
if (all.size() > 0) {
s = (Student) all.get(0);
s.getCourses().size() ;
}
this.session.close();
return s;
}
public void update(Student student) throws Exception {
this.session.update(student);
this.session.beginTransaction().commit();
this.session.close();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?