Hibernate基本概念与CRUD(增删改查)
来源:互联网 发布:win10怎么删除网络2 编辑:程序博客网 时间:2024/06/10 08:53
一、开发流程 Hibernate的基本概念和CURD(增删改查)
(1)Domain类
(2)映射文件
(3)表create table user()
开发流程:1、由Domain object->mapping->db
2、又DB开始,用工具生成mapping和Doamin object(使用较多)
3、由映射文件开始
二、
1、实体类对象限制
(1)默认的构造方法(必须)(利用反射机制来创建的对象)
(2)有无意义的标识符id(主键) 可选
(3)非final,对懒加载有影响(可选)
2、映射文件
一个Java类在映射文件中用一对<class></class>标签表示,如果有多个Java类,就应该有多个<class>标签
这些<class>标签可以放到一个映射文件,可以放到多个映射文件。类名.hbm.xml
属性标签内可以加属性 column 表示列名 not-null="true" 不为空
3、代码编写 增删改查
一个标准的模版代码:
try {
tx = sess.beginTransaction();
//do some work
...
tx.commit();
}
catch (Exception e) {
if (tx!=null) tx.rollback();
throw e;
}
finally {
sess.close();
}
三、session对象
开启事务方法: beginTransaction() 返回一个事务
清楚缓存 clear()
释放资源 close()
在缓冲区中找着是否包含指定的对象 contains(Object object)
生成查询对象 createCriteria()
删除某一个对象 delete()
刷新缓冲区 flush()
查询方法 get()
懒加载 load()
在查询中,如果后面使用该对象的时候,它才会去查询。
保存插入 save() 开启事务,执行插入,如果没有开启,则执行但插入不成功
保存插入 persist() 如果开启事务,它与save一样,如果没有开启事务,它根本没有执行
saveOrUpdate 根据ID和version的值来确定是save或update
nerge 独爱踢不过nerge你的对象还是托管
四、对象状态
1、瞬时状态:自己new出来对象就是瞬时状态 User user=new User();user是一个瞬时对象
在数据库的表中没有记录和瞬时对象相对应的,不被session管理
当执行:session.save(user)
2、持久状态:数据库表中有记录和这个对象相对应的,并且被session管理。
当对象在这个状态中,如果session没有关闭,更改对象的内容。数据库也会跟着改变
在session关闭。
3、脱管状态:数据库的表中有一条记录和对象相对应,但它和session没有任何关系了
(1)Domain类
(2)映射文件
(3)表create table user()
开发流程:1、由Domain object->mapping->db
2、又DB开始,用工具生成mapping和Doamin object(使用较多)
3、由映射文件开始
二、
1、实体类对象限制
(1)默认的构造方法(必须)(利用反射机制来创建的对象)
(2)有无意义的标识符id(主键) 可选
(3)非final,对懒加载有影响(可选)
2、映射文件
一个Java类在映射文件中用一对<class></class>标签表示,如果有多个Java类,就应该有多个<class>标签
这些<class>标签可以放到一个映射文件,可以放到多个映射文件。类名.hbm.xml
属性标签内可以加属性 column 表示列名 not-null="true" 不为空
3、代码编写 增删改查
一个标准的模版代码:
try {
tx = sess.beginTransaction();
//do some work
...
tx.commit();
}
catch (Exception e) {
if (tx!=null) tx.rollback();
throw e;
}
finally {
sess.close();
}
三、session对象
开启事务方法: beginTransaction() 返回一个事务
清楚缓存 clear()
释放资源 close()
在缓冲区中找着是否包含指定的对象 contains(Object object)
生成查询对象 createCriteria()
删除某一个对象 delete()
刷新缓冲区 flush()
查询方法 get()
懒加载 load()
在查询中,如果后面使用该对象的时候,它才会去查询。
保存插入 save() 开启事务,执行插入,如果没有开启,则执行但插入不成功
保存插入 persist() 如果开启事务,它与save一样,如果没有开启事务,它根本没有执行
saveOrUpdate 根据ID和version的值来确定是save或update
nerge 独爱踢不过nerge你的对象还是托管
四、对象状态
1、瞬时状态:自己new出来对象就是瞬时状态 User user=new User();user是一个瞬时对象
在数据库的表中没有记录和瞬时对象相对应的,不被session管理
当执行:session.save(user)
2、持久状态:数据库表中有记录和这个对象相对应的,并且被session管理。
当对象在这个状态中,如果session没有关闭,更改对象的内容。数据库也会跟着改变
在session关闭。
3、脱管状态:数据库的表中有一条记录和对象相对应,但它和session没有任何关系了
- Hibernate基本概念与CRUD(增删改查)
- Hibernate的增删改查CRUD
- CRUD增删改查
- 13hibernate hibernate关联关系的CRUD(增删改查)
- 实现hibernate的crud(增删查改)
- Hibernate中关联关系的CRUD(增删改查)
- hibernate核心API和级联的增删改查(CRUD)
- Hibernate实现数据的增删改查(CRUD)操作
- hibernate对单表增删改查(CRUD)
- Hibernate学习笔记二-增删改查(CRUD)
- Hibernate入门(6):CRUD 增删改查
- hibernate 基本的CRUD增删改查方法
- ThinkPHP增删改查CRUD
- yii 增删改查 crud
- hibernate基本概念和CURD(增删改查)详解
- hibernate增删查改
- hibernate增删改查
- Hibernate增删改查
- Hibernate入门与环境搭建
- HTTP协议详解(真的很经典)
- LINUX修改IP地址
- 逆序输出字符串
- tcpip协议栈 协议报文合集
- Hibernate基本概念与CRUD(增删改查)
- linux oracle自动备份脚本
- 我的2007-written in BIT
- linux内存泄漏检查工具
- dede首页添加自定义字段详细介绍
- linux 进程控制说明
- C#中类的继承实例
- ssh_exchange_identification: read: connection reset by peer
- linux 时间类型