Hibernate 第二讲
来源:互联网 发布:sql 查询字段长度 编辑:程序博客网 时间:2024/05/16 15:02
一、开发流程
1.Domain类 实体类
2.映射文件 User.hbm.Xml
3.表create table user();
理论上其中的任何一个都能推出另外两个
其中官方推荐使用由Domain object->mapping->db。
二、
1.实体Domain Object类对象限制
class User{
Public User(int id,String name Data birthday){
}
//自己写完有参数的构造方法后要再写一个无参数的构造方法
Public User(){
}
Private int id;
}
User.calzz=User.class;//hibernate的使用如下
Hibernate User user=clazz.newInstance()//调用无参构造,利用房反射机制
1.默认的构造方法(必须的)
2.有无意义的标示符id(主键)(可选)
3.非final的,对懒加载有影响(可选)
Domain java Objest(User)
Public class User{
Private int id;
Private String name;
Private Date birthDay;
//getter setter....
}
2.映射文件
一个java类在映射文件中用一对<class>标签表示,如果有多个java类,那就应有多个<class>标签。这些<class>标签可以放大一个映射文件中,可以放大多个映射文件中。
类名.hbm.xml(一般命名)
3、代码编写
工具类HibernateUtil
static{
Configuration cfg=new Configuration();
cfg.configure();
sessionFactory=cfg.buildSessionFactory();
}
Session接口中的常用方法
(1)瞬时状态:自己new出来对象就是瞬时状态
User user=newUser();
user.setName("aad");
user.setBirthday(new Date());
//user是一个瞬时对象,数据库的表中是没有记录和瞬时对象是相对应的
Session.save(user);
(2)持久状态:数据库的表中有相应的记录是和这个对象那个是相对应的,并且该对象呗session管理。
(3)脱管状态:数据库的表中有一条记录和对象是相对应的,但它和session没有任何关系
1.save,persist保存数据,在不开启事物时,save()方法是长身了insert语句并执行,但由于没有提交事务,所以最终被回滚了。Persist()方法在事物外不会产生insert语句。
2.Delete,删除对象
3.Update,更新对象,如果数据库中没有记录,会出现异常
- Hibernate 第二讲
- Hibernate 第二讲 Hibernate原理
- Hibernate第二讲HibernateUtil的封装
- Hibernate第二讲:Hibernate核心API和Hibernate开发步骤
- 第二讲
- 第二讲
- Hibernate框架学习(第二讲)---开发第一个Hibernate配置
- 第一讲与第二讲
- 搜索引擎第二讲 Compas+spring+hibernate的综合实例讲解和单独Compass实例讲解
- 第二讲 团员
- HTML基础-第二讲
- C++第二讲
- 第二讲: TAB家族
- C++学习 第二讲
- java 第二讲
- 数据库设计第二讲()
- 计算机网络基础第二讲
- 第二讲 整体认识
- 在Centos 6虚拟机上启动FTP服务的步骤
- python_
- Android-StageFright之数据流的封装和AwesomePlayer流程
- fedora 下音频系统设置整理(音频播放速度过快)
- python下安装parammiko模块-终极解决方案
- Hibernate 第二讲
- 什么情况导致全表扫描,而不是用索引
- 进一步掌握STVD/COSMIC
- hibernate核心接口
- jdk的一些参数配置规则--打dump文件
- java.lang.OutOfMemoryError: PermGen space 解决方法
- winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- c语言中的数组与指针
- 用户输入年龄,然后输出,要求用类操作