入门,Service实现类 写 查询、增加、修改、删除方法"/>
Hibernate简单入门,Service实现类 写 查询、增加、修改、删除方法
举例:学生表: 表名 Student 字段名:id , name , age
1、根据学生姓名查询数据
//根据学生姓名查询数据
@Overridepublic Student getStudentByname(String name) throws ServiceException {String hql = "from " + Student.class.getName() + " student where student.name= '" + name+ "'";List<Student> StudentList = getHibernateTemplate().find(hql);if (ObjectUtil.isNotEmpty(StudentList)) {return (Student) StudentList.get(0);}return null;}
2、添加学生
//添加数据@Overridepublic Boolean addStudent(Student student) throws ServiceException {student.setName("小白");student.setAge(8);getHibernateTemplate().save(student);return true;}
3、修改学生
@Overridepublic Boolean updateStudent(Student student) throws ServiceException {student.setName("小红");student.setAge(10);getHibernateTemplate().update(student);return true;}
4、根据学生ID删除学生
有两种:
①物理删除:就是直接删除,数据库中也删没有了
执行的是 getHibernateTemplate().delete() ;方法
//物理删除
@Override
public Boolean deleteStudentById(Long id) throws ServiceException {if (StrUtil.isNotBlank(id)) {Student student = (Student) getHibernateTemplate().get(Student.class, Long.parseLong(id));if (ObjectUtil.isNotEmpty(student)) {getHibernateTemplate().delete(student);return true;}}return false;}
②逻辑删除:其实就是修改设定字段的值,设置成删除状态,查询时要查询不是删除状态的数据(通俗的讲:就是假删除,数据库中的数据并未删除,可以设定一个字段设置。比如:delFlag 字段,值存入(0,1)可以设置0是未删除,1是删除的意思)
执行的是 getHibernateTemplate().update() ;方法
//逻辑删除
@Override
public Boolean deleteStudentById(Long id) throws ServiceException {if (StrUtil.isNotBlank(id)) {Student student = (Student) getHibernateTemplate().get(Student.class, Long.parseLong(id));if (ObjectUtil.isNotEmpty(student)) {student.setDelFlag("1");getHibernateTemplate().update(student);return true;}}return false;}
上面的方法是简单的写法
可以把它当成增删查改的通用方法(其他方法有用到时可以直接调用传参数就可以了)比如:setAge里面值,可以设置成通用的,也可以不写
更多推荐
Hibernate简单入门,Service实现类 写 查询、增加、修改、删除方法
发布评论