HibernateÈëÃÅ±Ê¼Ç ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/9/19 8:13:00ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

Ò» ¡¢µÚÒ»¸öÓ¦ÓÃʵÀý

1£®´î½¨»·¾³£ºÐ½¨Ò»¸öÃûΪHibernateDemoµÄjava¹¤³Ì£¬²¢µ¼ÈëHibernateµÄjar°ü£¬ÌرðҪעÒâ³ýÁ˵¼ÈëlibϵÄjar°ü»¹Ðèµ¼Èëhibernate3.jarºËÐÄjar°ü¡£ ÓÉÓÚÉæ¼°Êý¾Ý¿â²Ù×÷£¬»¹Ó¦µ¼ÈëmysqlÇý¶¯°ü¡£

˵Ã÷£¬Èç¹ûʹÓÃ×îеÄhibernate£¬hibernate¿ª·¢µÄ»ù±¾jar°ü(7¸ö) À´Ô´£º

hibernate-distribution-3.3.2.GA.zip hibernate3.jar

lib\\requiredϵÄËùÓÐjar°ü

2£®¼òÊöHibernateµÄ×÷ÓãºORM£ºObject Relational Mapping£¬¶ÔÏó¹ØÏµÓ³Éä¡£½«java³ÌÐòÖеĶÔÏó×Ô¶¯³Ö¾Ã»¯µ½¹ØÏµÊý¾Ý¿âÖС£¶øHibernateµÄ×÷ÓúñȾÍÊÇÔÚjava¶ÔÏóÓë¹ØÏµÊý¾Ý¿âÖ®¼äµÄÒ»×ùÇÅÁº£¬ËüÖ÷Òª¸ºÔðÁ½ÕßÖ®¼äµÄÓ³Éä¡£ÔÚHibernateÄÚ²¿·â×°ÁËJDBC¼¼Êõ£¨µ«Ö»ÊÇÒ»¸öÇáÁ¿¼¶µÄ·â×°£¬Òò¶ø¿ÉÒÔÈóÌÐòÉè¼ÆÈËÔ±¸ü·½±ãµÄÒÔÃæÏò¶ÔÏóµÄ˼Ïë²Ù×ÝÊý¾Ý¿â£©£¬²¢ÏòÍâÌṩAPI½Ó¿Ú¡£

3£®½¨ÐÂÒ»¸öÃûΪUser.javaµÄÀ࣬¼´ÊÇÉÏÃæËù˵µÄjava¶ÔÏó¡£ÎÒÃÇÒÔºó³ÆÕâÖÖÀàΪʵÌåÀࣨ»òÊdz־û¯Àࣩ£¬ËüµÄ¶ÔÏóΪʵÌå¶ÔÏ󣨻òÊdz־û¯¶ÔÏ󣩡£User.javaÄÚÈÝÈçÏ£º package com.asm.hibernate.domain; import java.util.Date; public class User { private int id;

private String name; private Date date;

public int getId() { return id; }

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

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public Date getDate() { return date; }

public void setDate(Date date) { this.date = date; } }

4£®±àдÅäÖÃÎļþ£ºUser.hbm.xml¡£ËüºÍUser.java·ÅÔÚͬһ¸ö°üÏ¡£ÄÚÈÝÈçÏ£º

\

\>

1

package=\>

´ËÅäÖÃÎļþ£¬ÊÇÓÃÀ´ÎªUser.java½øÐÐÅäÖõģ¬ÎÒÃÇÒÔºó³ÆÕâÖÖÎļþΪʵÌåÅäÖÃÎļþ£¨»òÊdz־û¯ÀàÓ³ÉäÎļþ£© ÓÃÀ´¹ØÁªÒ»¸öjavaÀ࣬עÒâÔÚÇ°ÃæµÄ¸ùÔªËØÏÂÓÐÒ»¸öpackageÊôÐÔ£¬ÕâÑù½áºÏÕâ¸öpackageºÍclass±êÇ©ÏÂËùÖ¸¶¨µÄÀàÃû£¬¾Í¹²Í¬¹ØÁªÓ³ÉäÁËÒ»¸öjavaÀà¡£ Æäʵ¿ÉÒÔÕâÑùÀí½â£¬Ã¿Ò»¸ö°ü϶¼ÓÐʵÌåÅäÖÃÎļþ£¬¶øÕâ¸öÅäÖÃÎļþ¿ªÊ¼µÄ¸ùÔªËØpackageÖ¸¶¨ÁË´ËÎļþËù´¦µÄλÖ㨻òÊÇ˵ËüËù¹ØÁªµÄ°ü£©£¬¸ùÔªËØÏ¿ÉÒÔÓжà¸ö±êÇ©£¨²éÔÄdtdÎļþ£©£¬ËüÃÇ¿ÉÒÔ·Ö±ðÀ´¹ØÁª°üϵÄjavaÀàÎļþ¡£

±êÇ©£¬Ò»°ã½¨ÒéÖÁÉÙÓÐÁ½¸öÊôÐÔ£ºnameÊôÐÔÓÃÀ´¹ØÁªÒ»¸öjavaÀ࣬±ÈÈçÕâÀï¹ØÁªÁËUserÀࣻtableÊôÐÔÓÃÀ´Ö¸¶¨Õâ¸öÀàËù¶ÔÓ¦µÄ±íÎļþ£¬Èç¹û²»Ö¸¶¨£¬ÏµÍ³»á×Ô¶¯nameÖ¸¶¨µÄÀàÎļþ½øÐйØÁª£¨±ÈÈçÉÏÃæÊµ¼ÊÊÇ£º£© ±êǩϵÄ×Ó±êÇ©£º

? ×Ó±êǩʵ¼Ê¾ÍÊÇÓÃÀ´Ó³ÉäÖ÷¼ü£¬ÏµÄname¾ÍÊÇÓÃÀ´Ö¸javaÀàÖеÄidÊôÐÔ£¬¶ø

Ëü¿ÉÒÔÓÐÒ»¸öcolumnÊôÐÔÓÃÀ´Ö¸¶¨±íÖеÄÖ÷¼ü¡£Í¬Ê±×¢ÒâÔڴ˱êÇ©ÏÂÓÐÒ»¸ö±êÇ©£¬ËüÊÇÓÃÀ´Ö¸¶¨Ö÷¼üµÄÉú³É·½Ê½¡£

? ×Ó±êÇ©£¬¾ÍÊÇÓÃÀ´Ö¸¶¨javaÀàµÄÊôÐÔÓ³Éäµ½±íÖеÄÒ»¸ö×ֶΣ¬Ä¬ÈÏÏ´˱ê

ǩûÓÐÖ¸¶¨columnÊôÐÔ£¬¼´ÊÇ˵Ëü»á°ÑnameËù¹ØÁªµÄÊôÐÔÃû×÷Ϊ×Ö¶ÎÃû¡£ Èç¹û²»ÏëjavaÀàÖеÄijЩÊôÐÔÓ³Éäµ½±íÖУ¬Ö»Òª²»ÓÃÕâ¸ö±êÇ©À´¹ØÁªÕâЩÊôÐÔ¼´¿É¡£

? ×ܽ᣺ÉÏÃæµÄµÄnameÊôÐÔ¶¼·Ö±ðÖ¸¶¨ÁËjavaÀ࣬javaÀàµÄ

ÊôÐÔ¡£¶øtable£¬columnÊÇÓÃÀ´Ö¸¶¨±í£¬×Ö¶ÎÃû

ÅäÖÃÎļþ£ºhibernate.cfg.xml¡£Ëü·ÅÔÚµ±Ç°µÄÏîÄ¿µÄ¸ùĿ¼Ï¡£ÄÚÈÝÈçÏ£º

\

\>

name=\>com.mysql.jdbc.Driver

name=\>jdbc:mysql://localhost:3306/test root 123456

name=\>org.hibernate.dialect.MySQLDialect create

2

Ö÷ÅäÖÃÎļþ£¬Íê³ÉÁËÇý¶¯×¢²á£¬Êý¾Ý¿âÁ¬½Ó£¬²¢¹ØÁªÁËÏàÓ¦µÄjava¶ÔÏóÅäÖÃÎļþ¡£

˵Ã÷£º¾ßÌåÖ¸¶¨Á˹ØÁªµÄËùÓÐʵÌåÅäÖÃÎļþ£¬¹ØÓÚËüµÄ×÷ÓÿÉÒÔ×¢Ê͵ô´ËÊôÐÔ¿´Ð§¹û¡£Áíͨ¹ýcreateÖ¸¶¨Á˸ù¾ÝʵÌåÅäÖÃÎļþÀ´×Ô¶¯Éú³É±í£¬ÆäÖаüÀ¨£ºcreate/create-drop/update/validateËÄÖÖ¿ÉÑ¡·½Ê½¡£

5£®±àд²âÊÔÀࣺUserTest.java ÄÚÈÝÈçÏ£º package com.asm.hibernate.test;

import java.util.Date;

import org.hibernate.Session;

import org.hibernate.SessionFactory; import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration; import com.asm.hibernate.domain.User;

public class UserTest {

public static void main(String []args){ Configuration cf=new Configuration(); cf.configure();

SessionFactory sf=cf.buildSessionFactory();

Session s=sf.openSession();

Transaction ts=s.beginTransaction(); //ÊÂÎñ

User user=new User(); user.setName(\);

user.setDate(new Date()); s.save(user);

ts.commit(); //Ìá½»ÊÂÎñ s.close();

System.out.println(\); } }

6£®·ÖÎöÁ÷³Ì£ºÊ×ÏÈÅ׿ªTransaction tx=s.beginTransaction()ºÍtx.commit()£¬ÒòΪËüÃÇÊÇÌá½»ÊÂÎñµÃ¡£Ö§³ÖÌá½»ÊÂÎñÒâζ×ÅÖ§³ÖÊý¾Ý»Ø¹ö¡£ËµÃ÷£¬Í¨³£Çé¿öÏ£¬ºÜ¶àÊý¾Ý¿â¶¼Ä¬ÈÏÖ§³ÖÌá½»ÊÂÎñ£¬ËùÒÔ¼ÓÕâÁ½¾ä´úÂë·Ç³£±ØÒª¡£ ÏÂÃæ¾ßÌå̸Á÷³Ì£º

µÚÒ»²½£º»ñÈ¡SessionFactory¶ÔÏó£¬Ëü»áÊ×Ïȹ¹½¨Ò»¸öConfiguration¶ÔÏ󣬴˶ÔÏóµ÷ÓÿÉÒÔµ÷ÓÃconfigure()ºÍconfigure(String resource)ÕâÁ½ÖÖ·½·¨£ºÕâÁ½ÖÖ·½·¨ÔÚConfigurationÖеÄÔ´´úÂëÈçÏ£º

public Configuration configure() throws HibernateException { configure( \ ); return this; }

public Configuration configure(String resource) throws HibernateException { log.info( \ + resource );

InputStream stream = getConfigurationInputStream( resource );

3