文档章节

Hibernate day02(2)

萧小蚁
 萧小蚁
发布于 2015/06/13 11:42
字数 403
阅读 8
收藏 0
点赞 0
评论 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();
		}
		
	}
	
}


© 著作权归作者所有

共有 人打赏支持
萧小蚁

萧小蚁

粉丝 96
博文 278
码字总数 192339
作品 0
海淀
程序员
关于使用jquery的问题

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

Littlebox ⋅ 2016/10/22 ⋅ 2

java学习计划

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

Bony ⋅ 2016/05/14 ⋅ 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 ⋅ 4

linux命令行下查看ip归属地Python小脚本

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

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

(高清,无码)全国第一部hadoop教程全发布,陆续更新中......

雷锋来了,hadoop教程合集! Hadoop从入门到上手企业开发第1天 http://pan.baidu.com/s/1c0vU0dq Hadoop从入门到上手企业开发第2天 http://pan.baidu.com/s/1gd5XKXX Hadoop从入门到上手企业...

大象分享 ⋅ 2015/02/25 ⋅ 17

Shell学习之路和我发布过的Shell脚本博文

Shell学习之路 目录 Shell学习之路【第一篇】:别名,管道,用户配置文件,变量,read Shell学习之路【第二篇】:条件测试,运算符,选择结构,for循环结构 Shell学习之路【第三篇】:While循环,C-...

yht_1990 ⋅ 2016/07/19 ⋅ 0

CXF和spring编写的WebService

• 为什么设计拦截器? 1. 为了在webservice请求过程中,能动态操作请求和响应数据, CXF设计了拦截器. • 拦截器分类: 2. 按所处的位置分:服务器端拦截器,客户端拦截器 3. 按消息的方向分:...

sxl01890 ⋅ 2016/04/17 ⋅ 0

springMvc学习-day02

Spring MVC 使用 @RequestMapping 注解为控制器指定可 以处理哪些 URL 请求 @RequestMapping 的 value、method、params 及 heads 分别表示请求 URL、请求方法、请求参数及请求头的映射条 件...

小四的窝 ⋅ 04/10 ⋅ 0

第一个hibernate程序,成功运行,但是出现很多INFO 和warn ,但是没有Exception

主程序 import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.lucu.Student; public class StudentTest { public stat......

进击的拖拉机 ⋅ 2014/12/02 ⋅ 2

达内-linux基础-day02

Linux命令: 用来实现某一类功能的指令或程序 命令的执行依靠于解释器 shell(解释器) 系统默认的解释器为 /bin/bash 执行过程: 用户发送指令—解释器—内核—硬件 挂载命令: 挂载就是将/...

段超超 ⋅ 2017/10/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部