• Hibernate入门程序


    在第一个Hibernate入门示例程序中,我们将使用eclipse IDE创建一个简单的hibernate应用程序示例。要在Eclipse IDE中创建第一个hibernate应用程序,需要遵循以下步骤:

    重要提示:
    按照惯例,易百教程的每个入门教程程序都会详细介绍对应环境的安装,配置和运行步骤,以帮助读者/学习者快速入门。往后的系列教程中没有特别说明,都会以入门教程程序配置为参考。所以,在您阅读每一篇文章遇到配置或运行环境不清楚,请参考入门教程程序配置。

    1. 创建java项目
    2. 为hibernate添加jar文件
    3. 创建持久类
    4. 创建持久类的映射文件
    5. 创建配置文件
    6. 创建检索或存储持久对象的类
    7. 运行应用程序

    前提工作:

    1. 安装好 MySQL 并启动。参考: http://www.yiibai.com/mysql/
    2. Eclipse Neon.2 Release (4.6.2)。 参考:http://www.yiibai.com/eclipse/
    3. 下载 Hibernate 相关类库(Jar文件)
    4. 创建一个数据库表:tb_employee

    1. 创建java项目

    打开Eclipse,通过 File -> New -> project -> java project 创建java项目。 现在指定项目名称: first-hibernate, 然后 next-> 完成。

    2. 为hibernate添加jar文件

    添加jar文件右键单击您的项目(first-hibernate) -> Build Path -> 添加外部存档。

    现在选择所有的jar文件,如下图所示 -

    创建一个用户自定义库,为这个自定义库起个名字:hibernate-jars,并选择 hibernate 相关jar包。

    完成后加入效果如下所示 -

    下载所需的 Hibernate-jars文件:

    在这个例子中,我们将应用程序与MySQL数据库连接。 所以你必须添加mysql-connect.jar文件。

    3. 创建持久化类

    在这里,要创建持久化类,右键单击src -> New -> Class - 使用包名指定类(例如:com.yiibai.mypackage) -> finish

    Employee.java

    package com.yiibai.mypackage;  
    
    public class Employee {  
        private int id;  
        private String firstName,lastName;  
    
        public int getId() {  
            return id;  
        }  
        public void setId(int id) {  
            this.id = id;  
        }  
        public String getFirstName() {  
            return firstName;  
        }  
        public void setFirstName(String firstName) {  
            this.firstName = firstName;  
        }  
        public String getLastName() {  
            return lastName;  
        }  
        public void setLastName(String lastName) {  
            this.lastName = lastName;  
        }  
    
    }
    
    Java

    4. 创建持久化类的映射文件

    在这里,我们正在创建与上一主题中创建的相同的映射文件。 要创建映射文件,右键单击src -> new -> file -> 指定文件名(例如employee.hbm.xml) , 它必须在包外部。

    employee.hbm.xml

    <?xml version='1.0' encoding='UTF-8'?>  
    <!DOCTYPE hibernate-mapping PUBLIC  
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
    
     <hibernate-mapping>  
      <class name="com.yiibai.mypackage.Employee" table="emp1000">  
        <id name="id">  
         <generator class="assigned"></generator>  
        </id>  
    
        <property name="firstName"></property>  
        <property name="lastName"></property>  
    
      </class>  
    
     </hibernate-mapping>
    
    XML

    5. 创建配置文件

    配置文件包含数据库的所有信息,如:connection_urldriver_classusernamepassword等。hbm2ddl.auto属性用于自动在数据库中创建表。 我们将在下一个主题中深入学习Dialect类。 要创建配置文件,请右键单击src -> new -> file。 现在指定配置文件名,例如: hibernate.cfg.xml

    hibernate.cfg.xml

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    <!-- Generated by MyEclipse Hibernate Tools. -->
    <hibernate-configuration>
    
        <session-factory>
    
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
            <property name="connection.username">root</property>
            <property name="connection.password">123456</property>
            <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
            <property name="show_sql">true</property>
            <mapping resource="employee.hbm.xml"/>  
        </session-factory>
    
    </hibernate-configuration>
    
    XML

    6. 创建检索或存储持久对象的类

    在这个类中,我们只是将employee对象存储到数据库中。

    package com.yiibai.mypackage;  
    
    import org.hibernate.Session;  
    import org.hibernate.SessionFactory;  
    import org.hibernate.Transaction;  
    import org.hibernate.cfg.Configuration;  
    
    public class StoreData {  
        public static void main(String[] args) {  
    
            //creating configuration object  
            Configuration cfg=new Configuration();  
            cfg.configure("hibernate.cfg.xml");//populates the data of the configuration file  
    
            //creating seession factory object  
            SessionFactory factory=cfg.buildSessionFactory();  
    
            //creating session object  
            Session session=factory.openSession();  
    
            //creating transaction object  
            Transaction t=session.beginTransaction();  
    
            Employee e1=new Employee();
            e1.setId(100);
            e1.setFirstName("Max");
            e1.setLastName("Su");
    
            session.persist(e1);//persisting the object  
    
            t.commit();//transaction is committed  
            session.close();  
    
            System.out.println("successfully saved");  
    
        }  
    }
    
    Java

    7. 运行应用程序

    在运行应用程序之前,确定目录结构如下图所示 -

    在运行这个示例之前,还差关键的一个步骤,那就是创建对象对应的表:tb_employee,其结构及创建语句语句如下-

    CREATE TABLE `tb_employee` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `firstName` varchar(32) NOT NULL DEFAULT '',
      `lastName` varchar(32) NOT NULL DEFAULT '',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;
    
    SQL

    接下来,就是运行hibernate应用程序,请右键单击StoreData类 -Run As - Java应用程序。

    输入结果如下 -

    INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
    Hibernate: insert into tb_employee (firstName, lastName, id) values (?, ?, ?)
    successfully saved
    
    Shell

    查看 tb_employee 表中的数据,如下 -

  • 相关阅读:
    如何用kaldi做孤立词识别三
    如何用kaldi做孤立词识别二
    脚本注释3
    [转] kaldi中FST的可视化-以yesno为例
    如何用kaldi做孤立词识别-初版
    [转]语言模型训练工具SRILM
    [转]kaldi 神经网络
    [转]kaldi ASR: DNN训练
    [转]Kaldi命令词识别
    [转] 如何用kaldi训练好的模型做特定任务的在线识别
  • 原文地址:https://www.cnblogs.com/borter/p/9522180.html
Copyright © 2020-2023  润新知