带有示例的Hibernate注解 - 极悦
首页 课程 师资 教程 报名

带有示例的Hibernate注解

  • 2022-02-11 10:39:11
  • 652次 极悦

Hibernate 是一种简化应用程序开发的 ORM(对象关系映射)工具。Hibernate 提供了一个与存储在数据库中的数据进行交互的框架,它还使用 Java Persistence API (JPA) 的规范。

Hibernate 提供注释以方便 Web 开发。在不使用 hibernate-mapping 文件的情况下,您可以借助 JPA Annotations 将 java 类映射到相应的表。下面列出了一些 JPA 注释:

i.@Entity - 它用于使 bean 类成为实体 bean,因此它必须包含无参数构造函数。

ii. @Table - 它用于为带注释的实体创建表。

iii.@Id – 表中的主键用@Id 表示。

iv.@Generatedvalue – 用于自动生成@Id 字段的值。

v.@Column -用于定义属性映射到的列的详细信息。

1.添加依赖项

使用hibernate注解时,需要在pom.xml中添加依赖。在<dependencies>…</dependecies> 标签之间添加依赖。下面列出了一些依赖项:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>5.3.1.Final>/version>
 </dependency>
 <dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>6.0.17.Final</version>
 </dependency>

您需要手动添加 Oracle 依赖项。如果您使用的是 Mysql,那么您需要添加 MySQL jar 或依赖项。

2.创建POJO/Bean/Persistence类

将多个对象封装成单个对象是通过 POJO 类或 Bean 类来完成的。

bean 类的所有变量都使用公共 setter 和 getter 方法设置为私有。

这里我们在 bean 类中使用 Annotations。

Bean 类- Book.java

 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Table;
 @Entity
 @Table(name="Book01")
 public class Book {
  @Id
  @GeneratedValue(strategy=GenerationType.AUTO)
  private int bno;
  @Column(name="bname")
  private String bname;
  @Column(name="price")
  private int price;
  public int getBno() {
  return bno;
  }
  public void setBno(int bno) {
  this.bno = bno;
  }
  public String getBname() {
  return bname;
  }
  public void setBname(String bname) {
  this.bname = bname;
  }
  public int getPrice() {
  return price;
  }
  public void setPrice(int price) {
  this.price = price;
  }
  } 

3.创建配置文件

配置文件的名称应该是 hibernate.cfg.xml。它包含有关映射文件和关系数据库的信息。

休眠.cfg.xml

 <?xml version='1.0' encoding='UTF-8'?>  
<!DOCTYPE hibernate-configuration PUBLIC  
          "-//Hibernate/Hibernate Configuration DTD 5.3//EN"  
          "http://hibernate.sourceforge.net/hibernate-configuration-5.3.dtd">    
<hibernate-configuration>  
  <session-factory>    
        <property name="hibernate.hbm2ddl.auto">update</property>  
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect
</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306
/test2</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver
</property>
        <property name="connection.username">root</property>  
        <property name="connection.password">root</property>   
        <property name="show_sql">true</property>        
     <mapping class="com.app.Annotate.Book"></mapping> 
    </session-factory>  
</hibernate-configuration>

4.创建应用程序类

它是一个包含用于运行应用程序的main() 方法的类。

让我们创建AppTest.java。

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; 
public class AppTest 
{
public static void main( String[] args )
{
Configuration  cfg= new Configuration();
cfg.configure("hibernate.cfg.xml");
SessionFactory fact = cfg.buildSessionFactory();
Session sess= fact.openSession();
sess.beginTransaction();        
Book book=new Book();
book.setBno(401);
book.setBname("Java Complete Reference");
book.setPrice(550);            
sess.save(book);  
sess.getTransaction().commit();  
System.out.println("saved successfully ");    
sess.close();      
    }
} 

以上就是关于“带有示例的Hibernate注解”的介绍,大家如果对此比较感兴趣,想了解更多相关知识,可以关注一下极悦的Java视频,里面的课程内容从入门到精通,很适合没有基础的小白学习,希望对大家能够有所帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交