转载请注明: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;
}
@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。内容如下;
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编写访问数据库的代码
在测试类中如下写代码:
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帮助我们自动创建表结果,并且把一个学生对象保存到数据库的表里面。关于上述代码的一些具体的涵义,后续再讲解。