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

来源:互联网 发布:ff14人男大叔捏脸数据 编辑:程序博客网 时间:2024/05/29 16:12

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

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

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

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

一个javabean遵循4点。

1.必须是共有的类。

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

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

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

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;}@Overridepublic 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。内容如下;

package test;import org.junit.After;import org.junit.Before;import org.junit.Test;//测试类 public class StudentsTest {@Beforepublic void init(){}@Afterpublic void destroy(){}@Testpublic void testSaveStudents(){}}


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

  在测试类中如下写代码:

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;@Beforepublic 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();}@Afterpublic void destroy(){transaction.commit();//提交事务session.close();//关闭会话sessionFactory.close();//关闭会话工厂}@Testpublic void testSaveStudents(){//保存学生用例对象//生成学生对象Students s1=new Students(1,"张奇","男",new Date(),"陕西");session.save(s1);//保存对象进入数据库,无须写sql语句}}

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

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

刷新表,出现新增数据:

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


























0 0