package hiber1;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HiberTool {
static Configuration cfg = null;
static SessionFactory sessionF = null;
static {
cfg = new Configuration();
cfg.configure();
sessionF = cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory() {
return sessionF;
}
}
由于静态代码块只会运行一次,因此可以节约运行资源.
由此,数据库的注入类也需要做一些变动:
package hiber1;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.jupiter.api.Test;
public class HibernateTest {
@Test
public void add() {
//第一步:加载Hibernate核心配置文件
Configuration cfg = new Configuration();
//在src下找到*.cfg.xml文件
cfg.configure();
//第二步:创建SessionFactory对象
//读取Hibernate核心配置文件内容,创建SessionFactory
//在过程中,根据映射关系,在数据库中把表格创建
//SessionFactory sessionF = cfg.buildSessionFactory();//SessionFactory类的示例很占用资源,一般全程只用一个对象
SessionFactory sessionF = HiberTool.getSessionFactory();//(重点在此)使用静态代码块
//第三步:使用对象sessionF创建session对象(类似于连接)
Session session = sessionF.openSession();
//第四步:开启事务
Transaction tx = session.beginTransaction();
//第五步:写具体的逻辑crud操作
//演示:添加功能
User user = new User();
user.setUsername("小李");
user.setPassword("250");
user.setAddress("日本");
session.save(user);//调用session方法实现添加
//第六步:提交事务(太奇怪了,有了这句就无法通过测试,注销就好了,难道是因为我用的是oracle?)
tx.commit();
//第七步:关闭资源
session.close();
sessionF.close();//web项目中一般不关闭这个,因为用的是静态代码块,关闭后之后就无法重新使用了
}
}
分享到:
相关推荐
3. 设置Hibernate配置,创建实体类。 4. 构建Web应用目录结构,配置`web.xml`。 5. 编写业务逻辑和服务层,Controller和视图层代码。 通过这样的集成,开发者可以更专注于业务逻辑,而无需过多关注底层技术细节,...
- `src/main/java`:存放Java源代码的地方,通常会看到Spring配置类、服务层接口和实现、DAO层接口和实现等。 - `src/main/resources`:存放配置文件的地方,比如Spring的XML配置、Hibernate的实体映射文件(hbm.xml...
而`blog_1`可能包含了应用的源代码,如Java类文件、配置文件和其他非Web资源。 **总结** 这个"jsp+Spring+hibernate"博客系统展示了如何利用现代Java技术栈构建一个功能完善的Web应用。通过结合JSP的视图呈现、...
例如,在Struts.xml中声明Action类,Spring的bean配置中定义Action类的bean,Hibernate的配置文件中设置数据源和实体映射。 - 最后,确保所有依赖库被正确添加到项目的类路径中,以避免运行时找不到类的错误。 ...
1. **源代码**:包括Spring配置文件(如applicationContext.xml)、Struts2配置文件(struts.xml)、Hibernate配置文件(hibernate.cfg.xml),以及各个Action类、Service类、DAO类和实体类(Entity)的Java源码。...
但一个标准的Struts2+Spring2+Hibernate3项目通常包含以下部分:源代码(src目录),配置文件(如struts.xml、spring配置文件、hibernate配置文件),Web资源(Web-INF目录下的web.xml,以及其他静态资源如HTML、CSS...
总的来说,"ext3+struts2+hibernate+spring的CRUD+分页"组合为Java Web开发者提供了一个高效且功能强大的工具链,能够快速构建出具有数据管理功能的Web应用,同时具备良好的用户体验和可维护性。
`java`目录下是Java代码,包括Struts 2的Action、Hibernate的实体类和Spring的配置和服务;`resources`存放配置文件,如Hibernate的映射文件、Spring的配置文件;`webapp`包含了Web应用的静态资源和视图页面。 7. *...
这个项目的核心功能是用户登录,因此,我们可以预期在源代码中会有一个处理用户认证的控制器类,使用Struts 2的Action接口,通过Spring管理的Service层调用Hibernate来查询和验证用户信息。同时,可能还会涉及到一些...
文件名"webapp"可能是指Web应用程序的根目录,通常包含Web-INF目录下的web.xml配置文件,以及静态资源(如HTML、CSS、JavaScript文件)和应用的Servlet类。 综上所述,这个项目采用了一个成熟的Java Web开发架构,...
通过Hibernate的实体类和映射文件,开发者可以将Java对象直接转换为数据库中的记录,反之亦然,实现数据的透明访问。 **办公自动化管理系统的构成** 办公自动化管理系统通常包括以下几个核心模块: 1. 用户管理:...
【标题】"java+Spring+Hibernate整合的企业OA源码"所代表的是一个使用Java编程语言,结合Spring框架和Hibernate持久层框架实现的企业级办公自动化(Office Automation,简称OA)系统的源代码。这样的系统通常用于...
这些工具类通常包含了一系列静态方法,用于执行常见的数据库CRUD(创建、读取、更新、删除)操作。例如,它们可能包括了保存(insert)、更新(update)、删除(delete)和查询(select)数据的方法,这些方法可能是...
3. 配置Hibernate:配置数据库连接,定义实体类和映射文件,设置SessionFactory。 4. 编写Service和DAO层:实现业务逻辑和数据访问。 5. 测试:通过JUnit或其他测试工具验证功能的正确性。 了解并熟练掌握SSH整合,...
这个项目展示了如何整合这些工具来实现高效的服务端数据验证。 **Maven** 是一个流行的项目管理和构建工具,它简化了Java项目的构建过程,通过管理依赖关系,自动化构建流程,并提供一套标准的项目结构。在本项目中...
`src` 目录通常存放源代码,而 `WebRoot` 是 Web 应用的根目录,包含静态资源(如 HTML、CSS、JavaScript 文件)、WEB-INF 目录(存放 web.xml 配置文件和其他库)以及 Struts2 的动作配置文件(struts-config.xml ...
它提供了实体类、映射文件、会话工厂等机制,实现了对象的持久化。在SSH2中,Hibernate主要负责数据持久化层,与Spring集成后,可以方便地进行事务管理和数据访问。 在提供的压缩包文件中,`.classpath`、`.project...
文件名称列表中的"src"目录通常是源代码存放的地方,包括Java类、配置文件等。"WebRoot"是Web应用的根目录,包含静态资源(如HTML、CSS、JavaScript)、JSP页面等。"dbscript"目录则可能包含数据库脚本,用于初始化...
项目中的springMVCnew可能包含SpringMVC的配置文件、Hibernate的配置文件、实体类、DAO和Service实现、以及相关的Controller类。根据文件结构解析和配置这些文件,即可运行并测试项目中的增删改功能。
- 首先,设置Spring环境,配置DataSource、SessionFactory以及Hibernate的实体类。 - 然后,通过Spring的AOP和Transaction Management,实现事务管理和数据访问层的控制。 - 接着,集成DWR,配置DWR的Context和...