Hibernate是什么?
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的源码对象封装,使得Java程序员可以随心所欲的源码使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的源码php商城源码分享场合,既可以在Java的源码客户端程序使用,也可以在Servlet/JSP的源码Web应用中使用,最具革命意义的源码是,Hibernate可以在应用EJB的源码J2EE架构中取代CMP,完成数据持久化的源码重任。
Hibernate的源码核心接口一共有5个,分别为:Session、源码扫雷app开源码SessionFactory、源码Transaction、源码Query和Configuration。源码这5个核心接口在任何开发中都会用到。源码通过这些接口,满贯大菠萝源码不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。
·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的刺激xS辅助源码SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,知识付费源码app其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。
·SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
·Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
·Transaction接口:Transaction接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。
·Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
请ç®è¿°Hibernateå·¥ä½åçï¼
Hibernateå·¥ä½åçæ¯Configuration读åHibernateçé ç½®æ件åæ å°æ件ä¸çä¿¡æ¯ï¼å³å è½½é ç½®æ件åæ å°æ件ï¼å¹¶éè¿Hibernateé ç½®æ件çæä¸ä¸ªå¤çº¿ç¨çSessionFactory对象ãç¶åï¼å¤çº¿ç¨SessionFactory对象çæä¸ä¸ªçº¿ç¨Session 对象ï¼Session对象çæQuery对象æè Transaction对象ï¼å¯éè¿Session对象çget()ï¼load()ï¼save()ï¼update()ï¼delete()åsaveOrUpdate( )çæ¹æ³å¯¹POè¿è¡å è½½ãä¿åãæ´æ°ãå é¤çæä½ã
å¨æ¥è¯¢çæ åµä¸ï¼å¯éè¿Session 对象çæä¸ä¸ªQuery对象ï¼ç¶åå©ç¨Query对象æ§è¡æ¥è¯¢æä½ï¼å¦æ没æå¼å¸¸ï¼Transaction对象å°æ交è¿äºæä½ç»æå°æ°æ®åºä¸ã
æ©å±èµæï¼
Hibernateå®å¯¹JDBCè¿è¡äºé常轻é级ç对象å°è£ ï¼å®å°POJOä¸æ°æ®åºè¡¨å»ºç«æ å°å ³ç³»ï¼æ¯ä¸ä¸ªå ¨èªå¨çormæ¡æ¶ï¼hibernateå¯ä»¥èªå¨çæSQLè¯å¥ï¼èªå¨æ§è¡ï¼ä½¿å¾Javaç¨åºåå¯ä»¥éå¿æ欲ç使ç¨å¯¹è±¡ç¼ç¨æç»´æ¥æ纵æ°æ®åºã
Hibernateå¯ä»¥åºç¨å¨ä»»ä½ä½¿ç¨JDBCçåºåï¼æ¢å¯ä»¥å¨Javaç客æ·ç«¯ç¨åºä½¿ç¨ï¼ä¹å¯ä»¥å¨Servlet/JSPçWebåºç¨ä¸ä½¿ç¨ï¼æå ·é©å½æä¹çæ¯ï¼Hibernateå¯ä»¥å¨åºç¨EJBçJaveEEæ¶æä¸å代CMPï¼å®ææ°æ®æä¹ åçéä»»ã
2024-11-19 09:10
2024-11-19 07:39
2024-11-19 07:23
2024-11-19 07:22
2024-11-19 07:06