hibernate入门(自用笔记,仅供参考,欢迎讨论)

不得不说hibernate的文档做的很nice,教程+配套源码,好嗨哟。。
用的是这个版本 hibernate-release-5.4.0.Final
压缩包的\documentation\quickstart目录,看名字就知道了,快速启动,适合新手~
网页是文档,压缩包是源码
在这里插入图片描述
源码里面有这几个,明显先看basic。。
maven项目,导入略。
在这里插入图片描述

先看文档,前面介绍略
第一步,配置hibernate.cfg.xml,
在这里插入图片描述
恩。。不懂,看代码

在这里插入图片描述
还是不懂。。查了一下,有一些是JDBC的知识(不会这个,先拿着用吧)
connection.driver_class:驱动
connection.url:地址
username和password 是数据库的用户和密码
connection.pool_size:连接池数量?
dialect:方言??
cache.provider_class:???
show_sql:是否显示sql语句
hbm2ddl.auto:是否自动建表,create,删除原表建新表,update,更新数据
mapping resource:指向了持久类的配置文件

然后是构建实体类,文档没有写,还是看源码
在这里插入图片描述
按照JavaBean的规范,下面get和set方法没有截图上去。

然后为这个实体类做映射。
class明显是类,table就是表喽,很好理解,类和表的对应关系。
在这里插入图片描述
主键,实体类id,对应表的EVENT_ID
在这里插入图片描述
generator 元素表示主键的生成策略
在这里插入图片描述
查了下 increment应该是自动增长
在这里插入图片描述

其他参数的映射
在这里插入图片描述
文档解释:没有指定column的时候就和name一样,但是date一般是保留字,所以给data设定了column。
type就是类型了,文档意思是最好手动写好tpye。因为不保证自动设定的type就是正确的。

然后是获得SessionFactory,(文章前面位置有句话,意思是有很多途径获得SessionFactory,要看topical的内容,先略)
文档没有详细的说明,先拿来用吧。。

在这里插入图片描述

然后就是保存实体类到数据库,通过上面的SessionFactory获得Session,
然后session开启事务
Session.save
session提交事务
session关闭
在这里插入图片描述
然后通过HQL查询(不懂这个,但是代码写的很清楚了,
通过session.createQuery获得event实体类的list,遍历list,输出每个event的Date和Title)
在这里插入图片描述
到此告一段落,运行源码看看
在这里插入图片描述

ok,紧接着文章讲了annotations的例子,基于注解的

说配置文件里有个最重要的区别,mapping标签
在这里插入图片描述
看下对比

注解的
在这里插入图片描述
配置文件的
在这里插入图片描述

然后定义实体类(注意,注解的包都是是@javax下的,不是hibernate的)
在这里插入图片描述
主键
在这里插入图片描述
查了一下好像一般就用@GeneratedValue 就可以了

其他属性
在这里插入图片描述
到此注解的说明结束,运行结果也是一样的就不截图了。
本来应该自己练练手,时间问题,以后补充。
自己测试的(实现最基本的功能,):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为测试了2遍,所以数据库有2条记录
在这里插入图片描述
现在查询记录(get/load)
get后立即发出sql语句,load则是修改时再发出sql语句

开启和提交事务中间代码修改如下
在这里插入图片描述
输出结果
在这里插入图片描述

更新记录
在这里插入图片描述
结果
在这里插入图片描述
删除记录
在这里插入图片描述
在这里插入图片描述
到这里最基本的增删改查就实现了。暂到这里,详细的文档以后再扣。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值