hibernate 开发步骤

25 篇文章 0 订阅
2 篇文章 0 订阅

一、创建hibernate配置文件

      hibernate.cfg.xml

     基本都是这样   直接复制拿去用就好了

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!--链接数据库的基本信息-->
        <property name="connection.url">jdbc:mysql://localhost:3306/pipi</property> 
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>

        <!-- 配置hibernate的基本信息 -->

        <!-- 配置数据库方言dialect -->
        <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <!-- 操作时是否在控制台打印sql语句 -->
        <property name="show_sql">true</property>
        <!-- 是否对sql进行格式化 -->
        <property name="format_sql">true</property>
        <!-- 指定自动生成数据表的策略 -->
        <property name="hbm2ddl.auto">update</property>


        <!-- DB schema will be updated if needed -->
        <!-- <property name="hbm2ddl.auto">update</property> -->
    </session-factory>
</hibernate-configuration>

二、创建持久化类persistent object

public class Namelist {
    private String id;
    private String name;

    public Namelist(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Namelist namelist = (Namelist) o;

        if (id != null ? !id.equals(namelist.id) : namelist.id != null) return false;
        if (name != null ? !name.equals(namelist.name) : namelist.name != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = id != null ? id.hashCode() : 0;
        result = 31 * result + (name != null ? name.hashCode() : 0);
        return result;
    }
}    

三、创建对象-关系映射文件  *.hbm.xml

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

    <class name="com.pipi.hibernateDemo.Namelist" table="namelist" schema="pipi">
        <id name="id">
            <column name="id" sql-type="varchar(30)" length="30"/>
        </id>
        <property name="name">
            <column name="name" sql-type="varchar(30)" length="30" not-null="true"/>
        </property>
    </class>
</hibernate-mapping>

四、通过hibernate api编写访问数据库的代码

写一个测试类

import com.pipi.hibernateDemo.Namelist;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

/**
 * Created by 1 on 2017/3/22.
 */
public class HibernateTest {
    @Test
    public void test(){
        //1、创建SessionFactory对象

        SessionFactory sessionFactory=null;
        //创建Configuration对象:对应hibernate的基本配置信息和对象映射关系
        Configuration configuration = new Configuration().configure();
        //创建一个ServiceRegistry对象:4.x以后新添加的对象
        // hibernate的任何服务和配置都需要在该对象注册后生效
        StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure().build();

        // 这个已经不用了 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
        //创建sessionFactory

        sessionFactory =configuration.buildSessionFactory(standardRegistry);

        //2、创建一个session对象

        Session session = sessionFactory.openSession();

        //3、开启事务

        Transaction transaction = session.beginTransaction();

        //4、执行保存操作

        Namelist namelist=new Namelist("0","pipi");
        session.save(namelist);

        //5、提交事务

        transaction.commit();

        //6、关闭session

        session.close();

        //7、关闭SessionFactory对象

        sessionFactory.close();
    }
}


如果是利用IntelliJ idea的话,连接数据库以后,二和三都是自动生成的,只需稍微改动即可。

本皮皮实在太懒咯就不上图了

 




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值