hibernate增删改查

package cn.gov.test;

import java.util.Set;

import cn.gov.entity.Address;
import cn.gov.entity.Person;
import cn.gov.factory.*;

import org.hibernate.Session;
import org.hibernate.Transaction;

public class Test {
	
	private Session session;
	private Transaction tran;

	public void init(){
		session=HibernateSessionFactory.getSession();
		tran=session.beginTransaction();
	}
	
	public void close(){
		this.session.close();
	}
	
	public void insert(){
		this.init();
		Person person=new Person(1,"Thomas",23);
		Address add1=new Address(10,"Beijing","100900","010-8999999","Office");
		Address add2=new Address(11,"DaLian","116400","0411-86776667","Home");
		add1.setPerson(person);
		add2.setPerson(person);
		session.save(person);
		session.save(add1);
		session.save(add2);
		tran.commit();
		this.close();
	}
	
	public void query(){
		this.init();
		Person p=(Person)session.get(Person.class,1);
		Set<Address> addresses=p.getAddresses();
		for(Address add: addresses) System.out.println(add.getDetail()+"  "+add.getType());
		this.close();
	}
	
	public void delete(){
		this.init();
		Address add=(Address)session.get(Address.class,10);
		session.delete(add);
		tran.commit();
		this.close();
	}
	
	public void update(){
		this.init();
		Address add=(Address)session.get(Address.class,10);
		add.setType("Hotel");
		session.update(add);
		tran.commit();
		this.close();
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Test test=new Test();
		test.insert();  test.query(); System.out.println();
		test.update();  test.query(); System.out.println();
		test.delete();  test.query(); System.out.println();
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值