hibernate之hello world

一,建立工程项目

不论使用idea,eclipse还是eclipse,都只需要建立普通的java项目即可

二,引入类包

写最简单的hibernate代码,只需要hibernate核心jar包即可,去hibernate官网下载最新版本,解压开,将文件夹内部的lib下的required文件夹内部的jar包都拷过来.这些都是需要的.

三,配置hibernate.cfg.xml文件

这个文件,建立在代码文件夹src下.我们不用从头开始写,有一个模板,在刚才的解压包下面的project/etc/下面,将hibernate.cfg.xml拷贝过来,删除session-factory标签内部的内容和它的name属性,下面是一个最简单的初始配置:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>
    <!-- 这里的数据库链接的设置我们可以在project/etc/下面hibernate.properties里面找到对应各种不同数据库的设置,复制过来修改一下就好了-->
    <!-- 这是sql方言,这里是转化为mysql方言-->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- 设置mysql驱动-->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- 设置数据库链接语句-->
        <property name="connection.url">jdbc:mysql:///hibernate</property>
        <!-- 设置数据库用户名-->
        <property name="connection.username">root</property>
        <!-- 设置数据库密码-->
        <property name="connection.password">root</property>

        <!-- 将Student类映射到数据库的方式的配置,看了这个设置我们知道需要写一个Student类-->
        <mapping resource="com/geekgao/hibernate/model/Student.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

亖,写我们的Student类,将他映射到数据库

如第三步配置中写的一样,我们需要一个Student类,映射到数据库,这个类写个简单的,只有一个属性即可.

//只需要属性和属性的get,set方法即可
public class Student {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

现在我们需要写Student.hbm.xml文件将这个类映射到数据库,这个名称最好是写成这样:类名.hbm.xml,这已经是约定俗成的了.这个文件的位置需要和它所映射的类在同一个地址,下面是最简单的一个映射实例:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<!-- 类所在的包-->
<hibernate-mapping package="com.geekgao.hibernate.model">
    <!-- 类名和他在数据库表中所对应的表明-->
    <class name="com.geekgao.hibernate.model.Student" table="student">
        <!-- id代表主键,name是类中属性名,column代表它在数据库表中所对应的列名-->
        <id name="name" column="name"/>
        <!-- 如果还有其他的数据项,用property标签添加-->
        <!-- eg: <property name="age" column="age"/>-->
    </class>
</hibernate-mapping>

五,写测试代码检验

1,让hibernate根据我们的配置自己在数据库中建立表


@Test
public void creatTable() {
    Configuration cfg = new Configuration().configure();
    SchemaExport se = new SchemaExport(cfg);
    //第一个true:是否将建立表的语言打印出来
    //第二个true:是否真实的在数据库中创建表
    se.create(true,true);
}

2,插入数据到表中

@Test
public void insertData() {
    Configuration cfg = new Configuration().configure();
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties());
    ServiceRegistry service = ssrb.build();
    SessionFactory factory = cfg.buildSessionFactory(service);
    Session session = factory.openSession();
    Transaction tx = session.beginTransaction();

    Student s1 = new Student();
    s1.setName("mangseng");
    s1.setAge(23);

    try {
        //存储
        session.save(s1);
        //提交事务
        tx.commit();
    } catch (Exception e) {
        //事务不成功就回滚
        tx.rollback();
    } finally {
        //关闭session
        session.close();
    }
}

以上就是最简单的一个hibernate样例.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值