(六)Hibernate实现基础CRUD

          Session接口是负责所有数据基础更新操作与基础查询操作的主要接口,而SharedSessionConctract接口主要负责事务或者是数据查询操作的,那么本次的重点只在于Session接口上.

            在Hibernate里面针对于数据的增加操作提供了两个方法:

        ●数据保存:

Serializable save(Object object)

        返回的是这个保存数据ID

       ●数据更新或保存:

void saveOrUpdate(Object object)

        在使用传统IDBC开发的时候有一点特别不好用,那么就是如果表中的字段为自动增长,要想取得增长后的ID则需要根据每个数据库的不同进行查询,但是如果有了Hibernate,它可以帮我们自动返回增长后的ID数据,同时这个数据也会自动的保存到POJO类里面.

        一旦调用了save()方法,返回的一定是当前的ID数据,同时会自动在POJO类里面自动更新相应的属性

        saveOrUpdate()方法没有返回结果,但是会在POJO类中自动保存相应的属性,如果设置了主键内容,就认为此操作是更新操作,如果没有设置主键则表示增加操作

数据查询操作

        在Session接口里面定义的数据查询只是进行ID的查询操作,方法:

        ●参数作用:第一个设置要查询的参数类型,第二个是要查询的ID内容

<T> T load(Class<T> theClass,
           Serializable id)

        在整个Hibermate里面把所有的ID类型都使用Serialiable来表示,所有要操作的类型都使用了Class类来表示,

        查询操作Session只提供了根据ID查询的支持.

数据修改操作

        数据的修改操作它提供的是完全的操作修改,修改的操作方法:

        修改的操作方法:

            修改的时候要接收要修改的对象内容,但是修改后没有返回值

void update(Object object)

数据删除操作

        在Session接口里面提供有删除的操作方法public void delete(Object object),如果要删除则必须接收一个对象,但是可以在对象里面只设置主键即可删除,因为Hibernate可以自动通过对象找到对应的主键内容

总结

1.发现除了增加的根据ID查询之外的方法设计上都有问题,update()和delete()都缺少返回值,不知道是否删除或更新成功

2.所有的更新的更新操作都必须进行事务的提交,否则无法真正发出.

猜你喜欢

转载自blog.csdn.net/qq1019648709/article/details/80693932