Hibernate简单入门,Service实现类 写 查询、增加、修改、删除方法

举例:学生表: 表名 Student  字段名:id , name , age

1、根据学生姓名查询数据 

//根据学生姓名查询数据 
@Override
    public 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、添加学生

//添加数据
  @Override
    public Boolean addStudent(Student student) throws ServiceException {
        student.setName("小白");
        student.setAge(8);
        getHibernateTemplate().save(student);
        return true;
    }

 3、修改学生

@Override
    public 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里面值,可以设置成通用的,也可以不写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值