我的第一個用Hibernate框架寫的小例子


                                    Hibernate框架

  今天我來主要講一下Hibernate框架的配置步驟,在講之前,我們先了解一下使用框架的優勢

1.不再考慮公共問題,框架已經幫我們做好了

2.可以專心於業務邏輯,保證核心業務邏輯的開發質量

3.結構統一,便於學習和維護

4.框架中集成了前人的經驗,可以幫助新手寫出穩定、性能優良而且結構優美的高質量程序。

  我們都知道SSH集成框架指的是基於Struts或Struts2+Spring+Hibernate的技術框架,也就是我們常說的三大框架,使用這個集成框架將使我們應用程序更加健壯、穩固、輕巧和優雅。

  Hibernate是數據持久化(數據持久化 就是將內存中的數據模型轉換為存儲模型,以及將存儲模型轉換為內存... 然后根據框架的配置文件,自動或手動決定 什么 時候把這種保存提交到 數據 庫)工具,是一個開放源代碼的對象關系映射框架。

優點:

1.Hibernate功能強大,較之JDBC方式操作數據庫,代碼量大大減少,提高持久化代碼的開發速度,降低維護成本。

2.Hibernate支持許多面向對象的特性

3.可移植性好

4.Hibernate框架開源免費

缺點:

1.不適合以數據為中心的大量使用存儲過程的應用。

2.大規模的批量插入、修改和刪除不適合用HibernateHibernate環境搭建

1.下載和部署jar包

2.創建配置文件hibernate.cfg.xml

<?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>

        <!-- Database connection settings 數據庫連接配置-->
        <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
        <property name="connection.username">wth</property>
        <property name="connection.password">1509184562</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect 方言-->
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>


        <!-- Echo all executed SQL to stdout 在控制台打印后台sql語句-->
        <property name="show_sql">true</property>
        <!-- 格式化語句 -->
       <property name="format_sql">true</property>
        <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">update</property>
          <!-- 關聯小配置 -->
        <mapping resource="cn/entity/student.hbm.xml" />

    </session-factory>

</hibernate-configuration>

3.創建持久化類和映射文件

小配置:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.entity">

        <class name="Student" table="STUDENT">
                <id name="sId" column="SID">
                        <generator class="native"/>
                </id>
                <!-- assigned 程序員賦值  native后台DB賦值-->
                <property name="sName" type="string" column="SNAME"/>
                <property name="sAge"/>             
                       
        </class>
</hibernate-mapping>

持久化類

package cn.test;

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;

import cn.entity.Student;

public class Test {
  public static void main(String[] args) {
    Student stu=new Student();

    stu.setsName("呵");
    stu.setsAge(12);
    Configuration cfg=new Configuration().configure();
    SessionFactory sc = cfg.buildSessionFactory();
    
    Session se = sc.openSession();
    Transaction tx=se.beginTransaction();
    
    se.save(stu);
    tx.commit();
    System.out.println("success!!!");
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM