文档章节

Hibernate day02(2)

萧小蚁
 萧小蚁
发布于 2015/06/13 11:42
字数 403
阅读 8
收藏 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"%>

Littlebox
2016/10/22
112
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
122
4
linux命令行下查看ip归属地Python小脚本

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

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

没有更多内容

加载失败,请刷新页面

加载更多

区块链入门教程以太源码分析accounts包简介

兄弟连区块链教程以太源码分析accounts包简介 accounts包实现了eth客户端的钱包和账户管理。 账号的数据结构: typeAccount struct {Address common.Address `json:"address"` // Ether...

兄弟连区块链入门教程
23分钟前
4
0
sed命令详解及运用

10月17日任务 9.4/9.5 sed 9.3、正则介绍 - sed命令(上) sed是流编辑器,默认不编辑源文件,是以行为单位从源文件抽取数据,进而处理再输出于屏幕上;可能有的人说那我直接vi不就好了嘛,但...

zgxlinux
25分钟前
2
0
iOS App “去评分” 功能的几种实现总结

通常 App 都会在它的设置页面或者关于页面添加一个“去评分”选项,或者在用户使用 App 过程中适当时机弹窗,引导用户跳转到 App Store 对当前 App 进行评分或者撰写评论。 绝大部分 App 实现...

秦无炎
30分钟前
1
0
Chrome 图片解码与 Image Decoding Hint

我在之前的一篇文章Chrome 图片解码与 Image.decode API,说明了为什么图片解码可能会导致非合成器动画的阻塞和如何使用 Image.decode API 来避免动画的阻塞。不过虽然 Image.decode API 给页...

全部原谅
30分钟前
0
0
java获取ip和地区

String s = HttpUtil.sendPost("http://pv.sohu.com/cityjson");JSONObject jsonObject = JSONObject.parseObject(s.substring(s.indexOf("{"), s.indexOf("}") + 1));jsonObject.get("c......

吴伟祥
32分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部