Hibernate快速入门

Posted NEWHOM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate快速入门相关的知识,希望对你有一定的参考价值。

第一步:下载Hibernate5的运行环境

  https://sourceforge.net/projects/hibernate/files/hibernate-orm/

第二步:在数据库创建表

Create database hibernate_day01;
    Use hibernate_day01;
    CREATE TABLE `cst_customer` (
      `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT \'客户编号(主键)\',
      `cust_name` varchar(32) NOT NULL COMMENT \'客户名称(公司名称)\',
      `cust_user_id` bigint(32) DEFAULT NULL COMMENT \'负责人id\',
      `cust_create_id` bigint(32) DEFAULT NULL COMMENT \'创建人id\',
      `cust_source` varchar(32) DEFAULT NULL COMMENT \'客户信息来源\',
      `cust_industry` varchar(32) DEFAULT NULL COMMENT \'客户所属行业\',
      `cust_level` varchar(32) DEFAULT NULL COMMENT \'客户级别\',
      `cust_linkman` varchar(64) DEFAULT NULL COMMENT \'联系人\',
      `cust_phone` varchar(64) DEFAULT NULL COMMENT \'固定电话\',
      `cust_mobile` varchar(16) DEFAULT NULL COMMENT \'移动电话\',
      PRIMARY KEY (`cust_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;

 第三步:搭建Hibernate的开发环境

  创建WEB工程并且引入Hibernate所需要的包

  • mysql的驱动jar包

  • Hibernate开发需要的jar包(/lib/required/所有jar包)
  • 日志jar包(资料/jar包/log4j/所有jar包)

第四步:编写JavaBean实体类

    public class Customer {
        private Long cust_id;
        private String cust_name;
        private Long cust_user_id;
        private Long cust_create_id;
        private String cust_source;
        private String cust_industry;
        private String cust_level;
        private String cust_linkman;
        private String cust_phone;
        private String cust_mobile;
        // 省略get和set方法
    }

第五步:创建类与表结构的映射

    <?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.itheima.domain.Customer" table="cst_customer">
            <id name="cust_id" column="cust_id">
                <generator class="native"/>
            </id>
            <property name="cust_name" column="cust_name"/>
            <property name="cust_user_id" column="cust_user_id"/>
            <property name="cust_create_id" column="cust_create_id"/>
            <property name="cust_source" column="cust_source"/>
            <property name="cust_industry" column="cust_industry"/>
            <property name="cust_level" column="cust_level"/>
            <property name="cust_linkman" column="cust_linkman"/>
            <property name="cust_phone" column="cust_phone"/>
            <property name="cust_mobile" column="cust_mobile"/>
        </class>
    </hibernate-mapping>

第六步:编写Hibernate核心的配置文件

    <?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>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.url">jdbc:mysql:///hibernate_day01</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password">root</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

            <mapping resource="com/itheima/domain/Customer.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>

第七步:编写Hibernate入门代码

    /**
     * 测试保存客户
     */
    @Test
    public void testSave(){
        // 先加载配置文件
        Configuration config = new Configuration();
        // 默认加载src目录下的配置文件
        config.configure();
        // 创建SessionFactory对象
        SessionFactory factory = config.buildSessionFactory();
        // 创建session对象
        Session session = factory.openSession();
        // 开启事务
        Transaction tr = session.beginTransaction();
        // 编写保存代码
        Customer c = new Customer();
        // c.setCust_id(cust_id);   已经自动递增
        c.setCust_name("测试名称");
        c.setCust_mobile("110");
        // 保存客户
        session.save(c);
        // 提交事务
        tr.commit();
        // 释放资源
        session.close();
        factory.close();
    }

以上是关于Hibernate快速入门的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate快速入门

Hibernate 快速上手操作入门

jdbcTemplate快速入门

Hibernate入门程序

Hibernate入门

hibernate入门程序