hibernate学习2(以单元测试方式练习)
2013-03-19 00:06
183 查看
一、新建一个java工程名为:hibernate_0200;
二、导入必要的包:hibernate相关和junit4;
三、目录结构如图:
View Code
五、运行如下:
二、导入必要的包:hibernate相关和junit4;
三、目录结构如图:
View Code
package com.bjsxt.hibernate; import java.util.Date; import java.util.Iterator; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class HibernateQLTest { private static SessionFactory sf; @BeforeClass public static void beforeClass() { sf = new AnnotationConfiguration().configure().buildSessionFactory(); } @AfterClass public static void afterClass() { sf.close(); } @Test public void testSchemaExport() { new SchemaExport(new AnnotationConfiguration().configure()).create(false, true); } @Test public void testSave() { Session session = sf.openSession(); session.beginTransaction(); for(int i=0; i<10; i++) { Category c = new Category(); c.setName("c" + i); session.save(c); } for(int i=0; i<10; i++) { Category c = new Category(); c.setId(1); Topic t = new Topic(); t.setCategory(c); t.setTitle("t" + i); t.setCreateDate(new Date()); session.save(t); } for(int i=0; i<10; i++) { Topic t = new Topic(); t.setId(1); Msg m = new Msg(); m.setCont("m" + i); m.setTopic(t); session.save(m); } session.getTransaction().commit(); session.close(); } //list 与 iterate @Test public void testQuery5() { Session session = sf.openSession(); session.beginTransaction(); Iterator<Topic> topics = session.createQuery("from Topic").iterate(); while(topics.hasNext()){ System.out.println(topics.next().getTitle()); } Iterator<Topic> topics2 = session.createQuery("from Topic").iterate(); while(topics2.hasNext()){ System.out.println(topics2.next().getTitle()); } session.getTransaction().commit(); session.close(); } //list 与 iterate @Test public void testQuery6() { Session session = sf.openSession(); session.beginTransaction(); Iterator<Topic> topics = session.createQuery("from Topic").list().iterator(); while(topics.hasNext()){ System.out.println(topics.next().getTitle()); } Iterator<Topic> topics2 = session.createQuery("from Topic").list().iterator(); while(topics2.hasNext()){ System.out.println(topics2.next().getTitle()); } session.getTransaction().commit(); session.close(); } public static void main(String[] args) { beforeClass(); } }
五、运行如下:
相关文章推荐
- hibernate学习笔记6--Criteria查询方式、完整小练习(开发步骤)
- Hibernate的学习之路三十三(QBC的基本查询方式)
- hibernate学习笔记【对象继承采用一个表方式】
- hibernate学习笔记【cascade设置的几种方式】
- 使用Hibernate的API方式进行单元测试
- [原创]java WEB学习笔记89:Hibernate学习之路-- -Hibernate检索方式(5种),HQL介绍,实现功能,实现步骤,
- Hibernate的学习之路二十八(唯一OID和对象导航的查询的方式)
- Hibernate的学习之路三十三(QBC的基本查询方式)
- Hibernate学习_010_联合主键映射(Annotation方式)
- Java学习之道:hibernate联合主键的创建方式
- 《精通Hibernate》学习(7)——Hibernate的检索方式(上)
- [原创]java WEB学习笔记85:Hibernate学习之路-- -映射 一对一关系 ,基于主键方式实现
- Hibernate的学习之路二十八(唯一OID和对象导航的查询的方式)
- hibernate学习:CRUD单元测试用例+知识总结
- Hibernate的学习之路三十三(QBC的基本查询方式)
- Hibernate学习笔记之三种查询方式
- Log4J学习【十五】XML的配置方式练习
- HIbernate学习笔记2 之 主键生成方式
- 【Hibernate学习】 —— 抓取策略(注解方式)
- 我的hibernate学习之旅(3)~通过给类文件添加注解的方式来配置映射