3 Hibernate:本地 API 单元测试优化
来源:互联网 发布:sql查询多表相同列名 编辑:程序博客网 时间:2024/05/17 22:00
在 2 Hibernate:入门简介 中已经介绍了如何使用 Hibernate 本地 API,根据 Hibernate 官方文档,对单元测试代码进行优化。
package hibernate;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;public class NativeApiIllustrationTest { private SessionFactory sessionFactory; @Before public void setUp() throws Exception { final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); try { sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory(); } catch (Exception e) { // 如果构建SessionFactory出现异常,需要手动销毁StandardServiceRegistry StandardServiceRegistryBuilder.destroy(registry); } } @After public void tearDown() throws Exception { if (null != sessionFactory) { sessionFactory.close(); } } @Test public void test() throws ParseException { Session session = sessionFactory.openSession(); session.beginTransaction(); session.save(new Person("tom", "Tommy", new SimpleDateFormat("yyyy-MM-dd").parse("1985-01-01"))); session.save(new Person("mix", "Mercy", new SimpleDateFormat("yyyy-MM-dd").parse("1990-10-01"))); session.getTransaction().commit(); session.close(); session = sessionFactory.openSession(); session.beginTransaction(); @SuppressWarnings("unchecked") List<Person> result = session.createQuery(" FROM Person").list(); for (Person person : result) { System.out.println(person); } session.getTransaction().commit(); session.close(); }}
打印结果:
Hibernate: insert into PERSON (ACCOUNT, NAME, BIRTH) values (?, ?, ?)Hibernate: insert into PERSON (ACCOUNT, NAME, BIRTH) values (?, ?, ?)六月 24, 2017 4:25:44 下午 org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateServiceINFO: HHH000397: Using ASTQueryTranslatorFactoryHibernate: select person0_.ID as ID1_0_, person0_.ACCOUNT as ACCOUNT2_0_, person0_.NAME as NAME3_0_, person0_.BIRTH as BIRTH4_0_ from PERSON person0_Person [id=1, account=tom, name=Tommy, birth=1985-01-01 00:00:00.0]Person [id=2, account=mix, name=Mercy, birth=1990-10-01 00:00:00.0]六月 24, 2017 4:25:44 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stopINFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:3306/test]
阅读全文
0 0
- 3 Hibernate:本地 API 单元测试优化
- 3、构建本地单元测试
- Hibernate 几种本地单元测试 的操作数据库 方法
- hibernate入门第五课 通过Hibernate API编写访问数据库代码并使用junit进行单元测试
- 构建本地单元测试
- 构建本地单元测试
- 建立本地单元测试
- hibernate优化3
- grape api单元测试
- Web Api 的单元测试
- Hibernate查询的API和优化(Lazy、fetch)
- hibernate 单元测试框架
- 【3】Hibernate的常用API
- springboot【3】web开发之构建RESTful API与单元测试
- 2、Android构建本地单元测试
- Hibernate Api
- hibernate API
- 【Hibernate】 Api
- python:打印直角三角形
- 金典——最接近的数__
- websocket的日常问题
- Hadoop日记——安装、配置、启动HDFS
- 葵花宝典第二天
- 3 Hibernate:本地 API 单元测试优化
- FreeRTOS queue usage
- where条件
- WebRTC音频模块
- CRC校验
- 基于Vue2.0+Vue-router构建一个简单的单页应用
- 使用ListView时的注意事项有哪些
- 爬虫技巧
- vue中的js类表达式