Hibernate從入門到上手(一),hibernate上手

來源:互聯網
上載者:User

Hibernate從入門到上手(一),hibernate上手

Hibernate(orm架構)(開放原始碼的對象關係映射架構)
Hibernate是一個開放原始碼的對象關係映射架構,它對JDBC進行了非常輕量級的對象封裝,它將POJO與資料庫表建立映射關係,是一個全自動的orm架構,hibernate可以自動產生SQL語句,自動執行,使得Java程式員可以隨心所欲的使用對象編程思維來操縱資料庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的用戶端程式使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。

Orm:Object relational mapping,對象映射關係,用於對象與關係型資料庫關聯映射架構。

Demo1:純java project搭建步驟:

  第一步:建立資料庫表t_user,建立java對象USer.java

  第二步:添加jar包

  第三步:建立對應檔

  第四步:建立hibernate核心設定檔hibernate.cfg.xml

  第五步:測試

以下是詳細步驟示範:

項目結構

 

   第一步:建立資料庫表t_user,建立java對象USer.java

#資料庫表t_user
CREATE DATABASE hibernate_demo CHARSET 'UTF8';CREATE TABLE t_use(id INT(10) PRIMARY KEY AUTO_INCREMENT,uname VARCHAR(20) NOT NULL);
//建立java對象User.java
public class User {private Integer id;private String uname; //getter和setter省略 ......}

  第二步:添加jar包

  第三步:建立對應檔user.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">        <!--package:java對象包路徑 --><hibernate-mapping package="com.jonychen.model">    <!-- 設定物件與table的關係 -->    <class name="User" table="t_user">        <!-- 指定主鍵name:表示java對象屬性名稱 column -->        <id name="id" column="id" type="integer">        <!--配置主鍵自增策略  -->            <generator class="native" />        </id>        <!--配置其他屬性與欄位關聯關係  -->        <property name="uname" column="uname" type="string" />    </class></hibernate-mapping>

  第四步: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>    <!--1、方言:指定資料庫類型 -->        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>        <!--2、配置資料來源 -->        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate_demo</property>        <property name="connection.username">root</property>        <property name="connection.password">mysql</property>        <!--列印sql -->        <property name="show_sql">true</property>        <!--3、載入對應檔 -->        <mapping resource="com/jonychen/model/user.hbm.xml" />    </session-factory></hibernate-configuration>
第五步,測試
 1 package com.jonychen.test; 2  3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.Transaction; 6 import org.hibernate.boot.registry.StandardServiceRegistryBuilder; 7 import org.hibernate.cfg.Configuration; 8 import org.hibernate.service.ServiceRegistry; 9 10 import com.jonychen.model.User;11 12 public class HibernateTest {13 14     public static void main(String[] args) {15         // TODO Auto-generated method stub16         //1、載入設定檔17         Configuration cfg=new Configuration();18         cfg.configure("hibernate.cfg.xml");19 20 21         //2、建立sessionFactory 22         ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();23         SessionFactory sessionFactory=cfg.buildSessionFactory(serviceRegistry);24 25         //3、開啟全新session26         Session session=sessionFactory.openSession();27         28         try {29             //事務30             Transaction ts=session.beginTransaction();31             32             User user =new User();33             user.setUname("jonychen");34             //添加資料35             session.save(user);36             //提交事務37             ts.commit();38         } catch (Exception e) {39             // TODO Auto-generated catch block40             e.printStackTrace();41         }finally {42             //關閉串連43             if(session!=null) {44                 session.close();45             }46             if(sessionFactory!=null) {47                 sessionFactory.close();48             }49             50         }51     }52 }

 

在Eclipse裡添加外掛程式開發Hibernate

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.