博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate day02(2)
阅读量:5932 次
发布时间:2019-06-19

本文共 4055 字,大约阅读时间需要 13 分钟。

hot3.png

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
 list=(List
)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();		}			}	}

转载于:https://my.oschina.net/u/2356966/blog/466335

你可能感兴趣的文章
Automatic Sql Server Backup Utility Using sqlserveragent
查看>>
Java是如何读取和写入浏览器Cookies的
查看>>
篇一、安装配置Android Studio
查看>>
C#代码安装、卸载、监控Windows服务
查看>>
2014年抢票总结
查看>>
zephir开发的扩展“wudimei框架”之模板词法扫描(三)完成代码切分
查看>>
ML 线性回归Linear Regression
查看>>
【转载】SweetAlert2 使用
查看>>
oracle如何用sql查看触发器?
查看>>
如何对HashMap按键值排序
查看>>
test
查看>>
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm
查看>>
js/jquery/插件表单验证
查看>>
Bandwidth内存带宽測试工具
查看>>
为Node.js编写组件的几种方式
查看>>
(轉貼) Anders Hejlsberg談C#、Java和C++中的泛型 (.NET) (C#)
查看>>
30天敏捷结果(24):恢复你的精力
查看>>
JNI——访问数组
查看>>
C#开发和调用Web Service
查看>>
Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题
查看>>