分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Hibernate入门程序

发布时间:2023-09-06 02:11责任编辑:蔡小小关键词: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.MySQLDialectHibernate: insert into tb_employee (firstName, lastName, id) values (?, ?, ?)successfully saved
Shell

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

Hibernate入门程序

原文地址:https://www.cnblogs.com/borter/p/9522180.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved