文档章节

Hibernate day02(2)

萧小蚁
 萧小蚁
发布于 2015/06/13 11:42
字数 403
阅读 11
收藏 0
package test;



import java.util.Date;
import java.util.List;

import model.Account;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;

import util.HibernateUtils;

public class AccountTest {

	@Test
	public void createTable(){
		//加载hibernate.cfg.xml文件并解析
		Configuration cfg=new Configuration().configure();
		SchemaExport se=new SchemaExport(cfg);
		//对生成的DDL语句进行格式化
		se.setFormat(true);
		se.setDelimiter(" ");
		se.setOutputFile("account.sql");
		se.create(true, true);
	}
	
	@Test
	public void add(){
		Session session=HibernateUtils.getSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		
		Account account=new Account();
		
		account.setName("wanger");
		account.setAge(20);
		account.setScore(20.24);
		account.setBirthday(new Date());
				
		session.save(account);
				
		tr.commit();
	
		HibernateUtils.close(session);
		
		account.setId(11);
		account.setScore(98);
		account.setBirthday(new Date());
		account.setAge(22);
		account.setName("tianqi");
		Session session2=HibernateUtils.getSession();
		Transaction tr2=session2.beginTransaction();
		session2.merge(account);
		
		tr2.commit();
		
		HibernateUtils.close(session2);
	}
	
	
	@Test
	public void update(){
		//加载并解析hibernate.cfg.xml文件
		Configuration cfg=new Configuration().configure();
		//创建SessionFactory对象
		SessionFactory sessionFactory=cfg.buildSessionFactory();
		//创建Session接口负责CRUD
		Session session=sessionFactory.openSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		try{
			Account acc=(Account)session.get(Account.class, 1);
			System.out.println(acc.toString());
			acc.setAge(21);
			acc.setScore(87);
			session.update(acc);
			tr.commit();
		}catch(Exception ex){
			tr.rollback();
		}finally{
			session.close();
		}		
	}
	
	@Test
	public void update2(){
		Session session=HibernateUtils.getSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		Account acc=(Account)session.get(Account.class, 1);
		System.out.println(acc.toString());
		
		tr.commit();
		HibernateUtils.close(session);
		
		
		acc.setName("zhangsan");
		acc.setAge(23);
		Session session2=HibernateUtils.getSession();
		//开启事务
		Transaction tr2=session2.beginTransaction();
		
		session2.update(acc);
		tr2.commit();
		
		HibernateUtils.close(session2);
				
	}
	
	@Test
	public void delete(){
		Session session=HibernateUtils.getSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		Account acc=(Account)session.get(Account.class, 1);
		System.out.println(acc.getId());
		
		
		session.delete(acc);
		tr.commit();
		HibernateUtils.close(session);
		
	}
	
	@Test
	public void get(){
		Session session=HibernateUtils.getSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		Account acc=(Account)session.get(Account.class, 1);
		System.out.println(acc.getId());
		
		tr.commit();
		HibernateUtils.close(session);
	}
	
	@Test
	public void load(){
		Session session=HibernateUtils.getSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		Account acc=(Account)session.load(Account.class, 1);
		System.out.println(acc.getId());
		
		tr.commit();
		HibernateUtils.close(session);
	}
	
	@Test
	public void findAll(){
		Session session=HibernateUtils.getSession();
		//开启事务
		Transaction tr=session.beginTransaction();
		
		String sql="from Account";
		Query query=session.createQuery(sql);
		List<Account> list=(List<Account>)query.list();
		for(Account a:list){
			System.out.println(a);
		}
	
		
		tr.commit();
		HibernateUtils.close(session);
			
	}
}
package util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {

	private static SessionFactory factory;
	static{
		factory=new Configuration().configure().buildSessionFactory();
	}
	public static SessionFactory getFactory(){
		return factory;
	}
	
	public static Session getSession(){
		return factory.openSession();
	}
	
	public static void close(Session session){
		if(session!=null){
			session.close();
		}
		
	}
	
}


© 著作权归作者所有

共有 人打赏支持
萧小蚁

萧小蚁

粉丝 98
博文 279
码字总数 192339
作品 0
海淀
程序员
私信 提问
关于使用jquery的问题

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 用户列表 学号 姓名 薪水 操作 请问各位,为什么使用红色标注的jquery文档加载,最后不会生成a标...

Littlebox
2016/10/22
151
2
java学习计划

源于传智播客毕向东老师的教学计划: day01-01-基本常识 day01-02-Java的跨平台性 day01-03-Java环境搭建(安装) day01-04-Java环境搭建(环境变量配置) day01-05-Java环境搭建(环境变量配置技...

Bony
2016/05/14
41
0
day02_js学习笔记_01_js的简介、js的基本语法

day02js学习笔记01_js的简介、js的基本语法 ========================================================================================================================================......

黑泽明军
04/18
0
0
小白又来问问题了,谁能帮我找找错,输入12/0 的时候 还是true呢? 找了好久。。。

package day02; import java.util.Scanner; public class LogicDemo { public static void main(String[] args) { char sex ; while(true){ Scanner scanner = new Scanner(System.in); Syst......

PcKing少
2013/08/24
151
4
linux命令行下查看ip归属地Python小脚本

今天之前追踪网络故障可能需要打开网址输入ip138等之类的网站查看问题ip归属地,这个脚本再mac/linux用来就是长期命令行操作的时候无需打开浏览器直接查询ip归属地来追踪网络归属地的小脚本,...

异类深呼吸
2014/03/31
0
2

没有更多内容

加载失败,请刷新页面

加载更多

jquery通过id显示隐藏

var $div3 = $('#div3'); 显示 $div3.show(); 隐藏 $div3.hide();

yan_liu
今天
3
0
《乱世佳人》读书笔记及相关感悟3900字

《乱世佳人》读书笔记及相关感悟3900字: 之前一直听「荔枝」,后来不知怎的转向了「喜马拉雅」,一听就是三年。上班的时候听房产,买房了以后听装修,兴之所至时听旅行,分手后听亲密关系,...

原创小博客
今天
3
0
大数据教程(9.6)map端join实现

上一篇文章讲了mapreduce配合实现join,本节博主将讲述在map端的join实现; 一、需求 实现两个“表”的join操作,其中一个表数据量小,一个表很大,这种场景在实际中非常常见,比如“订单日志...

em_aaron
今天
3
0
cookie与session详解

session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时...

士兵7
今天
3
0
十万个为什么之为什么大家都说dubbo

Dubbo是什么? 使用背景 dubbo为什么这么流行, 为什么大家都这么喜欢用dubbo; 通过了解分布式开发了解到, 为适应访问量暴增,业务拆分后, 子应用部署在多台服务器上,而多台服务器通过可以通过d...

尾生
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部