JavaEE Hibernate注解使用

  1. 創(chuàng)建工程,并導入相對應的jar包。
圖1.png
  1. 創(chuàng)建實體類, 此處使用的注解必須是javax.persistence包下的,否則會報異常。
package com.mazaiting.entity;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Student")
public class Student {
    private Long id;
    private String name;
    private String age;
    
    public Student() {
    }
    
    @Id
    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getAge() {
        return age;
    }
    
    public void setAge(String age) {
        this.age = age;
    }
}
  1. 在根目錄創(chuàng)建配置文件
<?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">
<hibernate-configuration>
 <session-factory>
  <!-- 數(shù)據(jù)庫驅(qū)動 -->
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <!-- 數(shù)據(jù)庫地址 -->
  <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/test</property>
  <!-- 數(shù)據(jù)庫用戶名 -->
  <property name="hibernate.connection.username">root</property>
  <!-- 數(shù)據(jù)庫密碼 -->
  <property name="hibernate.connection.password">root</property>
  <!-- 數(shù)據(jù)庫方言 -->
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <!-- 是否輸出sql語句 -->
  <property name="hibernate.show_sql">true</property>
  <!-- 是否格式化sql語句 -->
  <property name="hibernate.format_sql">true</property>
  <!-- 生成具體的表結(jié)構(gòu) -->
  <property name="hibernate.hbm2ddl.auto">create</property>
  
  <!-- 引入映射文件 -->
  <mapping class="com.mazaiting.entity.Student"/>
 </session-factory> 
</hibernate-configuration>
  1. 測試
package com.mazaiting.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.mazaiting.entity.Student;

public class StudentTest {
    /**
     * 會話工廠
     */
    private SessionFactory sessionFactory;
    /**
     * 會話對象
     */
    private Session session;
    /**
     * 事務(wù)對象
     */
    private Transaction transaction;
    
    /**
     * 初始化
     */
    @Before
    public void setUp(){
        // 創(chuàng)建配置
        Configuration config = new Configuration().configure("hibernate.cfg.xml");
        // 創(chuàng)建會話工廠
        sessionFactory = config.buildSessionFactory();
        // 創(chuàng)建會話對象
        session = sessionFactory.openSession();
        // 開啟事務(wù)
        transaction = session.beginTransaction();
    }
    
    /**
     * 釋放資源
     */
    @After
    public void tearDown(){
        // 提交事務(wù)
        transaction.commit();
        // 關(guān)閉會話
        session.close();
        // 關(guān)閉會話工廠
        sessionFactory.close();
    }
    
    /**
     * 測試方法
     */
    @Test
    public void testSaveStudent(){
        // 生成學生對象
        Student student = new Student();
        student.setId(1L);
        student.setName("mazaiting");
        student.setAge("23");
        session.save(student);
    }
    
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容