在Hibernate 资源文件中定义复杂的自定义sql,可灵活用于自定义的复杂增删改查
此方法不限于以前的hibernate是注解方式还是xml声明实体类。
一 定义包含自定义sql的资源文件:directSql.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<sql-query name="mergeTargetScore">
<![CDATA[
update t_duty_target_dtl set target_Scorelevel_Id =:newId where duty_Target_Dtl_Id = :id
]]>
</sql-query>
</hibernate-mapping>
二 在hibernate。cfg。xml中包含此文件
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="connection.url">
jdbc:oracle:thin:@192.168.1.55:1521:orcl
</property>
。。。 <property name="myeclipse.connection.profile">
ora4sljx
</property>
<mapping resource="com/jadetrust/sljx/db/directSql.hbm.xml" />
<mapping class="com.jadetrust.sljx.db.domain.TWorkLogTarget" />
<mapping class="com.jadetrust.sljx.db.domain.TReconDtl" />
三 在java中调用自定义sql
public static void update1(Long whereID, Long destID) {
HibernateSessionFactory.getSession().getTransaction().begin();
Session s = HibernateSessionFactory.getSession();
Query q = s.getNamedQuery("mergeTargetScore");
q.setParameter("id", whereID);
q.setParameter("newId", destID);
q.executeUpdate();
HibernateSessionFactory.getSession().getTransaction().commit();
}
分享到:
相关推荐
"重写hibernate的session简单增删改查"是一个针对初学者的实践教程,旨在帮助理解如何在Hibernate中自定义Session的操作,以便更好地控制数据库交互。 一、Hibernate Session Hibernate的Session是与数据库交互的...
Struts2作为一个MVC(Model-View-Controller)框架,主要用于处理用户请求并展示结果,而Hibernate则是一个对象关系映射(ORM)工具,它简化了数据库操作,将Java对象与SQL语句进行解耦。 在这个"struts2,hibernate...
在本实例中,我们将深入探讨如何使用SpringBoot框架进行数据库操作,主要集中在增删改查(CRUD)功能。SpringBoot以其简洁的配置和强大的功能,成为Java开发中广泛采用的框架,尤其在构建微服务时更为突出。下面,...
在IT行业中,Spring、Hibernate和Struts2是三个非常重要的框架,它们构成了经典的Java Web开发栈,被广泛用于实现Web应用程序的"增删改查"(CRUD)操作。在这个项目中,"北大青鸟"可能是一个教育机构,它可能在教授...
总结,JSF通过Managed Beans、数据源、JPA(如Hibernate)以及内置的UI组件,为开发人员提供了一个完整的框架来实现数据库的增删改查功能。理解和熟练掌握这些知识点,能够帮助开发者高效地构建功能丰富的Web应用...
本篇将详细介绍如何使用Hibernate在Oracle数据库中实现数据的增删改查操作。 首先,我们需要了解Hibernate的基本概念。Hibernate是一个对象关系映射(ORM)框架,它通过XML或注解方式将Java类与数据库表进行映射,...
标题"Spring+Hibernate工具类所有增删改查"暗示了这是一个集合了Spring和Hibernate框架中用于基本数据库操作的工具类库。这些工具类通常包含了一系列静态方法,用于执行常见的数据库CRUD(创建、读取、更新、删除)...
【标题】基于Myeclipse与MySQL数据库表格的增删改查 在开发Web应用程序时,数据库操作是必不可少的一部分。Myeclipse是一款强大的Java集成开发环境,而MySQL则是一款广泛使用的开源关系型数据库管理系统。本教程将...
【hibernate增删改查事例的web工程】是一个基于Hibernate框架的Web应用程序,旨在帮助开发者通过实际操作来理解和掌握Hibernate在数据库操作中的基本功能,包括插入(Insert)、删除(Delete)、更新(Update)和...
这个"Struts1 Spring Hibernate实现增删改查小项目"提供了一个基础的示例,演示了如何整合这三个框架来构建Web应用。虽然代码质量可能不高,但对于初学者来说,这是一个很好的学习资源,能够理解如何在实际项目中...
Hibernate是一个Java ORM框架,它允许开发者以面向对象的方式处理数据库,将数据库表与Java对象对应起来,通过对象的CRUD(Create、Read、Update、Delete)操作来实现数据库的增删改查。这样,开发者可以避免编写...
在这个项目中,SSH框架与MySQL数据库结合,实现了用户登录注册、分页以及数据的增删改查功能,为初学者提供了一个很好的实践案例。 1. **Struts2**:Struts2作为MVC(模型-视图-控制器)框架,负责处理HTTP请求,...
这样,开发者无需编写大量的JDBC代码,就能实现数据的增删改查。 二、动态SQL的概念 动态SQL是在运行时根据条件生成不同的SQL语句。相比静态SQL,动态SQL更加灵活,能够适应复杂多变的查询需求,避免了硬编码SQL...
综上所述,"struts2+hibernate增删改查+分页"是一个基础的Java Web开发示例,它涵盖了MVC架构下,如何利用Struts2处理用户请求,通过Hibernate进行数据库操作,以及实现简单的分页功能。这种组合在实际项目中非常...
通过这些技术,我们可以方便地与数据库进行交互,执行SQL语句来完成数据的增删改查操作。例如,使用JDBC时,需要编写SQL语句,通过PreparedStatement执行,确保参数安全;使用ORM框架时,可以利用其动态SQL和对象...
在本项目"Struts1 增删改查+分页"中,我们将深入探讨如何利用Struts1实现对数据的基本操作以及分页显示。 1. **Struts1基础**: - **Action类**:是Struts1的核心,用于接收用户请求并执行业务逻辑。每个Action类...
本项目主要实现了基于Java的树形菜单,并集成了完整的增删改查功能,使得开发者可以快速地构建具有此类功能的系统。 首先,我们来详细探讨树形菜单的实现。树形菜单通常由节点(Node)组成,每个节点可以有零个或多...
在"springboot+登录+增删改查"这个主题中,我们将深入探讨如何使用SpringBoot构建一个具备用户登录功能以及数据库操作(增、删、改、查)的Web应用。 首先,我们需要设置一个新的SpringBoot项目。你可以通过Spring ...
本教程将围绕Struts2与Oracle的集成,详细讲解如何实现Web应用中的增删改查功能。 一、Struts2基础 1. 框架结构:Struts2基于拦截器栈模型,通过Action类处理用户请求,并将结果转发到指定的视图。 2. Action类:每...
MySQL增删改查工具类是面向Java开发者的一个实用工具,它简化了数据库操作,特别是针对MySQL数据库的插入、删除、更新和查询等基本操作。在Java编程中,直接操作数据库通常涉及大量的SQL语句编写,这既繁琐又容易...