1.Hibernate初始化
来源:互联网 发布:python urllib2 post 编辑:程序博客网 时间:2024/05/18 00:03
1.Hibernate初始化:
1.1 创建Configuration类的实例。Configuration类的构造方法把默认文件路径下的hibernate.properties配置文件的配置信息读入到内存:
Configuration config=new Configuration();
1.2**调用addClass(Monkey.class)方法;** 该方法把默认路径下的Monkey.hbm.xml映射信息读入到内存。
config.addClass(Monkey.class)
1.3调用Configuration 类的bulidSessionFactory()方法:
sessionFactory=config.bulidSessionFactory();
该方法把Configuration包含的所有配置信息复制到SessionFactory对象缓存中。SessionFactory代表一个数据存储源。如果应用只需要一个数据源,那么只需要创建一个SessionFactory实例。当sessionFactory创建以后,该对象不和Configuration 对象关联。
sessionFactory是线程安全的,多个线程之间可以并发访问。
sessionFactory=new Configuration().addClass(Monkey.class).bulidSessionFactory();
2.访问Hibernate的Session接口:
Session是一个轻量级的对象,每执行一个数据库事务,就应该创建一个session实例,不论事务执行的成功与否都要 close() Session.
Session是非线程安全的,多个线程同时访问一个Session进行数据库的存取会造成Session数据存取逻辑混乱。
调用SessionFactory实例的openSession()方法来获取Session实例。Session提供了操作数据库的各种方法:
2.1 save()方法:
save()方法是用来保存持久化对象,进而在数据库中新增一条数据的方法;执行save()方法之后不会立即操作数据库来进行保存数据,而是在Transaction对象的commit()方法执行之后才会保存数据。
Configuration config = new Configuration(); config.configure(); SessionFactory sessionFactory = config.buildSessionFactory(); Session session = sessionFactory.getCurrentSession(); Transaction tx = session.beginTransaction(); Guestbook gb = new Guestbook(); gb.setName("刘伟"); gb.setPhone("01082622285"); gb.setEmail("liuwei8809@163.com"); gb.setTitle("大家好"); gb.setContent("欢迎大家学习Hibernate技术。"); gb.setCreatedTime(new Date()); session.save(gb); tx.commit(); sessionFactory.close(); }}
2.2 get()/load()方法:
通过Session对象的get()方法可以获取数据库中的一条记录,如:
Guestbook gb=(Guestbook) session.get(Guestbook.class,new Integer(1));//查找Guestbook中id为1的记录
参考:http://blog.163.com/magicc_love/blog/static/1858536622012092478227/
- 1.Hibernate初始化
- hibernate初始化
- hibernate初始化
- hibernate初始化
- Hibernate的初始化
- hibernate初始化优化
- Hibernate初始化异常
- Hibernate初始化生成表
- Hibernate初始化类模版
- hibernate 4.3 初始化方法
- Hibernate初始化过程
- Hibernate的初始化
- 不同配置文件的初始化Hibernate
- Hibernate最小初始化 minimal constructor
- hibernate两种初始化方式
- Hibernate-手动初始化数据源连接
- hibernate之上下文初始化失败
- 不同配置文件的初始化Hibernate心得
- .net学习之ASPX页面属性
- LeetCode 24: Swap Nodes in Pairs
- 内存管理
- fans-rt 任务调度-堆栈切换篇(4)tiny模型详细分析
- Android 自定义控件打造史上最简单的侧滑菜单
- 1.Hibernate初始化
- Test
- UML类图几种关系
- 架构设计:负载均衡层设计方案(4)——LVS原理
- 使用GridView实现九宫格的菜单
- HDU 4341 Gold miner (分组背包)
- 读陈浩的《C语言结构体里的成员数组和指针》总结,零长度数组
- Android UI开发篇之 ViewPager+九宫格布局 实现左右滑动
- 浅谈数据库中的触发器