第一个hibernate例子

准备:

  • eclipse
  • Hibernate Tools for Eclipse Plugin

Hibername Tools是由JBoss推出的一个Eclipse综合开发工具插件,该插件可以简化ORM框架Hibernate,以及JBoss Seam,EJB3等的开发工作
插件安装教程
http://blog.csdn.net/csc_cockroach/article/details/52923083
步骤

  1. 创建Hibernate的配置文件hibernate.cfg.xml
  2. 创建持久化类(实体类)
  3. 创建对象-关系映射文件,生成对应实体类的映射文件并添加到配置文档中(4)调用Hibemate API进行测试
  4. 通过Hibernate API编写访问数据库的代码
    为了方便,先在eclipse中导入所需的jar包Windows>preferences>java>build path>User Libraries 点击New… 输入
    hibernate点击OK
    • 导入Hibernate必须的jar包
      hibernate-release-4.2.4.Final\lib\required
      点击New…输入mysql-jdbc点击OK
      导入mysql的jdbc驱动
      mysql-connector-java-5.0.8.jar
      点击New…输入Junit4点击OK
      导入Junit4的jar包
      Junit-4.0.jar
      点击OK

一.新建Java project

在eclipse中新建一个Java project工程,命名为hibernate,右键项目>build path>Add Libraary>User Library>选中刚才导入的库,点击finish这里写图片描述

二. hibernate配置文档

在src目录下新建Hibernate Configuration File(cfg.xml)
这里写图片描述
直接点击Next,然后Finish
在工程目录中打开刚刚创建的配置文档,在< session-factory>中添加以下标签

        <property name="connection.username">root</property>
        <property name="connection.password">123</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://127.0.0.1:13306/hibernate?useUnicode=true&amp;characterEncoding=utf-8</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="hbm2ddl.auto">create</property>

三.创建持久化类

在src目录下新建一个Student类,包名为com.entity

import java.util.Date;

public class Student {
    //1公有类
    //2无参构造方法
    //3属性私有
    //4get和set方法
    private int sid;//学号
    private String sname;//姓名
    private String gender;//性别
    private Date birthday;//生日
    private String address;//地址
    public Student() {
    }
    public Student(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 "Student [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", birthday=" + birthday
                + ", address=" + address + "]";
    }
}

四. 创建关系-映射文件

右键src新建
这里写图片描述

这里写图片描述
选中Student类,点击Finish
在src目录下就生成了一个名为Student.hbm.xml的对象关系-映射表,把实体类映射成数据库的一张表,属性映射成为表中的一个字段
文档生成之后,需要把它加入Hibernate文档当中,点击hibernate.cfg.xml,在< session-factory>添加

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

五 新建数据库

这里写图片描述

六 创建测试类

右键项目,New>Source Folder,命名为text,在text中新建一个StudentText.java

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;

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

import com.imooc.entity.Student;

public class StudentText {
    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 textSaveStudents(){
        session.save(s);//保存对象进数据库
        session.flush();
    }
}

运行textSaveStudents()方法
命令行输出
这里写图片描述

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值