`
ludaojuan21
  • 浏览: 224440 次
  • 性别: Icon_minigender_1
  • 来自: 回龙观
社区版块
存档分类
最新评论

在Hibernate中使用sql原生语句

阅读更多
Action:
List allNodesList = sysDepartmentService.findbySql(sql,"ht.sys.model.SysDepartment");


Service:
	public List findbySql(String sql,String classname){
		return theDAO.findbySql(sql,classname);
	}


Dao:
/**
	 * 执行sql查询
	 * @param sql
	 * @return
	 */
	public List findbySql(String sql,String classname){
		log.debug("finding by sql");
		try {
		Session session = this.getSession();
		List deps =new ArrayList();
		
		
		if(null!=classname&&!classname.replaceAll(" ", "").equals("")){
			//返回类对象
			
		
			try {
				
				 deps= session.createSQLQuery(sql)
					.addEntity(Class.forName(classname))
					.list();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				log.error(classname+":不是一个合法的类名");
				e.printStackTrace();
			}
			
		}else{
			//返回对象数组
			deps= session.createSQLQuery(sql).list();
			
		}
		this.releaseSession(session);//关闭session
		return deps;
		} catch (RuntimeException re) {
			log.error("finding by sql failed:"+sql, re);
			throw re;
		}
	}
分享到:
评论

相关推荐

    hibernate执行原生sql语句

    在上面的代码中,我们使用 `HibernateCallback` 接口来执行原生 SQL 语句,该接口提供了一个 `doInHibernate()` 方法,该方法将在 Hibernate 事务中执行。我们可以在该方法中执行原生 SQL 语句,并使用 `Connection`...

    Hibernate中Sql语句

    本文将针对给定代码片段中的核心知识点——如何在Hibernate中使用原生SQL而非HQL进行详细解析。 #### 一、为什么要使用原生SQL? 虽然HQL是Hibernate提供的面向对象的语言,能够方便地映射到Java对象,但在某些...

    hibernate 执行原生sql的几种方式

    在Java的持久化框架Hibernate中,执行原生SQL(Native SQL)是常见需求,尤其是在处理特定数据库特性或者优化性能时。本篇文章将详细介绍在Hibernate中执行原生SQL的几种方式,以及它们各自的适用场景和优缺点。 1....

    spring+hibernate,自己封装了原生sql的处理,模仿mybatis使用

    描述中提到"自己封装了原生sql的处理,模仿mybatis使用",这意味着开发者在项目中创建了一个类似MyBatis的简单SQL解析器。MyBatis是一个轻量级的持久层框架,它允许开发者编写原生的SQL语句并将其与Java代码绑定。...

    Hibernate之原生Native SQL查询

    在提供的压缩包文件"NativeSQLTest"中,可能包含了作者对使用Hibernate进行Native SQL查询的一些实践案例或者测试代码。这将是一个很好的学习资源,可以深入理解如何在实际项目中应用Native SQL查询,解决复杂查询...

    采用p6spy完整显示hibernate的SQL语句

    在开发和调试基于Hibernate的Java应用时,有时我们需要获取到SQL语句的完整形式,而不仅仅是Hibernate默认输出的参数化形式。在这种情况下,P6Spy是一个非常有用的工具。P6Spy是一个开源的JDBC代理库,它允许我们...

    hibernate将本地SQL查询结果封装成对象

    首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...

    Hibernate SQLQuery执行原生SQL.docx

    在Java的Hibernate框架中,有时候我们需要执行自定义的SQL查询以获取特定的数据,这时就可以使用SQLQuery接口。本文将深入探讨Hibernate如何通过SQLQuery接口执行原生SQL查询,并展示如何处理查询结果。 一、创建...

    Hibernat使用原生的SQL

    标题 "Hibernat使用原生的SQL" 涉及的是在Java开发中如何利用Hibernate框架执行自定义的SQL语句。Hibernate是一个流行的Object-Relational Mapping (ORM) 工具,它允许开发者以面向对象的方式操作数据库,而无需直接...

    hibernate将本地SQL查询结果封装成对象(最终)

    使用本地sql语句查询后,无需再使用Object对查询结果进行强制转换,而是直接将查询结果放到实体Bean里了。 PS: 其实只有一版,这里只所以叫最终版是因为该附件我上传了好几天传不上去,到最后报告说‘资源已经存在...

    hibernate数据库通用SQL代码

    在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了与数据库的交互,使得开发者可以更专注于业务逻辑而不是底层的SQL操作。本文将详细讲解如何使用Hibernate来编写通用的数据库操作代码,包括插入...

    SQL语句拼接

    - 对于确定不会为null的字段,可以直接在SQL语句中写死,避免每次都需要判断并拼接。 - 如上例中,如果`name`和`address`都不可能为null,则可以简化为: ```java sql.append("select * from Tuser as t where 1...

    mybatis,ibatis,hibernate 显示查询SQL

    在Hibernate中,可以在`hibernate.cfg.xml`配置文件中设置`show_sql`属性为`true`,或者在运行时通过SessionFactory的`setProperty`方法设置。 **总结** MyBatis、iBatis和Hibernate在显示查询SQL方面,都依赖于...

    hibernate将本地SQL查询结果封装成对象(最终).zip

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。本教程将详细解释如何使用Hibernate将本地SQL查询的结果封装成对象,以便...

    详解Java的Hibernate框架中的缓存与原生SQL语句的使用

    本文将深入探讨Hibernate中的缓存机制以及如何使用原生SQL语句。 缓存是提升应用程序性能的关键因素,特别是对于频繁访问数据库的应用。在Hibernate中,缓存分为三个层次: 1. 第一级缓存:这是SessionFactory创建...

    mysql 原生语句中save 的写法汇总.docx

    MySQL 原生语句中 save 的写法汇总 在 MySQL 中,save 操作是经常遇到的场景,特别是在 UPDATE 和 INSERT 操作中。使用 Hibernate 可以使用 saveOrUpdate 方法,但是使用原生 SQL 语句时,该如何实现 save 操作呢?...

    Hibernate3使用经验

    在 Hibernate 中,可以通过以下步骤执行原生 SQL 语句: 1. **创建 Session**:首先需要创建一个 `SessionFactory` 对象,然后通过该对象打开一个 `Session` 实例。 ```java Configuration config = new ...

    Hibernate_NSQL&HQL增删改操作

    在Hibernate框架中,进行数据库操作时,开发者可以选择使用两种不同的查询语言:NSQL(Native SQL)和HQL(Hibernate Query Language)。这两种查询方式各有优势,在不同的场景下使用可以达到最佳的效果。 ##### 一...

    SQL语句封装

    - **函数或方法**:在编程语言中创建函数或方法,如在Python中使用def定义函数,Java中使用public void方法,将SQL语句作为参数传递,返回查询结果。 - **存储过程**:在数据库级别进行封装,创建存储过程,将一系列...

    hibernate 的createSQLQuery的几种用法

    Hibernate 的 createSQLQuery 是 Hibernate 框架中的一种强大且灵活的查询机制,它允许开发者使用原生 SQL 语句来查询数据库。下面是 createSQLQuery 的几种常见用法: 一、简单的 SQLQuery 在最简单的情况下,...

Global site tag (gtag.js) - Google Analytics