前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hibernate入门篇(三)——编写第一个Hibernate例子

Hibernate入门篇(三)——编写第一个Hibernate例子

作者头像
MickyInvQ
发布2020-09-27 15:15:13
3010
发布2020-09-27 15:15:13
举报
文章被收录于专栏:InvQ的专栏InvQ的专栏

转载请注明:http://blog.csdn.net/uniquewonderq

上一节中已经把Hibernate的xml文件配置好了。

现在,第二步,接着创建持久化类。

新建一个Students的java类。这个持久化类遵循的原则是遵循javaBean的设计原则。

一个javabean遵循4点。

1.必须是共有的类。

2.要提供一个共有的不带参数的默认的构造方法。

3.属性,必须是私有的。

4.属性使用setter和getter方法进行封装。

代码语言:javascript
复制
package Entity;
import java.util.Date;

//学生类
public class Students {
	private int sid;// 学号
	private String sname;// 姓名
	private String gender;// 性别
	private Date birthday;// 生日
	private String address;// 地址

	public Students() {
	}

	public Students(int sid, String sname, String gender, Date birthday,
			String address) {
		this.sid = sid;
		this.sname = sname;
		this.gender = gender;
		this.birthday = birthday;
		this.address = address;
	}

	public int getSid() {
		return sid;
	}

	public void setSid(int sid) {
		this.sid = sid;
	}

	public String getSname() {
		return sname;
	}

	public void setSname(String sname) {
		this.sname = sname;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "Students [sid=" + sid + ", sname=" + sname + ", gender="
				+ gender + ", birthday=" + birthday + ", address=" + address
				+ "]";
	}

}

第三步,创建对象——关系映射文件和数据库

选中src,右键,other,创建

其作用就是将我们的实体类,映射为一张数据库中的一张表。然后再在 hibernate.cfg.xml这个配置文档中, 加上一条配置:

将我们刚刚创建的hbm.xml文件加进去。

语句如下:

<mapping resource="Students.hbm.xml"/>

接下来创建数据库。创建一个名为hibernate的数据库。

第四步:使用Junit进行测试:

先介绍几个注解标签:

@Test:测试方法

@Before:初始化方法,在执行测试方法之前,先执行before下的方法

@After:释放资源

顺序:先执行@Before在执行@Test标签下的方法,最后执行@After下的方法

实验步骤:

1.右键src,new,创建一个sourse Folder

2.创建一个测试类,名为StudentsTest。内容如下;

代码语言:javascript
复制
package test;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

//测试类 
public class StudentsTest {
	
		@Before
		public void init(){
			
		}
		@After
		public void destroy(){
			
		}
		@Test
		public void testSaveStudents(){
			
		}
}

第五步:通过Hibernate API编写访问数据库的代码

在测试类中如下写代码:

代码语言:javascript
复制
package test;
import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import Entity.Students;

//测试类 
public class StudentsTest {
		
		private SessionFactory sessionFactory;
		private Session session;
		private Transaction transaction;
		@Before
		public void init(){
			//创建配置对象
			Configuration config=new Configuration().configure();
			//创建服务注册对象
			ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
			//创建会话工厂对象
			sessionFactory=config.buildSessionFactory(serviceRegistry);
			//创建会话对象
			session=sessionFactory.openSession();
			//开启事务
			transaction=session.beginTransaction();
		}
		@After
		public void destroy(){
			transaction.commit();//提交事务
			session.close();//关闭会话
			sessionFactory.close();//关闭会话工厂
		}
		@Test
		public void testSaveStudents(){//保存学生用例对象
			//生成学生对象
			Students s1=new Students(1,"张奇","男",new Date(),"陕西");
			session.save(s1);//保存对象进入数据库,无须写sql语句
		}
}

之后,右键运行,run as -->Junit Test即可。然后我们看到,运行状态条是绿色的。说明测试成功!

刷新数据库,发现,已经在hibernate数据库中新建了一个表,名为students。

刷新表,出现新增数据:

好了,以上便是第一个Hibernate小例子。主要就是使用hibernate帮助我们自动创建表结果,并且把一个学生对象保存到数据库的表里面。关于上述代码的一些具体的涵义,后续再讲解。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-06-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档