hibernate做crud

1.导入jar包

hibernate做crud_第1张图片

2.新建一个entity实体类,然后手动写一个实体类的映射类文件.hbm.xml;

hibernate做crud_第2张图片
hibernate做crud_第3张图片
这个是hibernate的操作对象,映射对象决定表名

3.配置文件hibernate.cfg.xml


hibernate做crud_第4张图片
hibernate做crud_第5张图片

4.新建dao层和工具类

hibernate做crud_第6张图片
hibernate做crud_第7张图片
代码重复,封装一个工具类,静态方法,类名.方法名直接调用可以

5.impl层(重要)

(1)hibernate做增加

hibernate做crud_第8张图片
增加不能用hql开发,因为不支持

(2)hibernate做删除(2种方法)

hibernate做crud_第9张图片
直接用delete

Hibernate查询语言:hql(要用到查询):hibernate中的hql只有类和属性,没有表和字段的概念(2)有局限性,不支持insert,只能做增删改,对于复杂sql无能为力

hibernate做crud_第10张图片
用hql开发删除用到executeUpdate的方法

批量删除

hibernate做crud_第11张图片

(3)hibernate做修改(2种方法)

hibernate做crud_第12张图片
直接用session的方法
hibernate做crud_第13张图片
用hibernate查询语言修改

(4)hibernate做查询(多种情况):用到的是hibernate查询语言hql

a.hibernate操作hql(接近sql)

hibernate做crud_第14张图片
单独查询+分页查询

hql查询指定字段;(1)select new 类名(字段名)(2)有字段的构造方法

hibernate做crud_第15张图片
模糊+分页(User是类名,id,name等是类中的属性,不是表中的字段)
hibernate做crud_第16张图片
统计数量,id是类中的属性,还可以用avg,max等其他聚合函数

b..hibernate操作复杂的sql(原生的sql语句)

(1)利用creatSQLQuery做查询

hibernate做crud_第17张图片

(2)利用creatSQLQuery做增加

hibernate做crud_第18张图片

即:hibernate 中createQuery与createSQLQuery两者区别是:

前者用的hql语句进行查询,后者可以用sql语句查询

前者以hibernate生成的Bean为对象装入list返回,后者则是以对象数组进行存储

后者则是以对象数组进行存储

你可能感兴趣的:(hibernate做crud)