`

hibernate中使用sql

阅读更多
java 代码
  1. /*  
  2.      * hibernate中使用 sql语句  
  3.      */  
  4.     public void TestSQL(){   
  5.         String sql = "select * from user";   
  6.         Session session = factory.openSession();   
  7.         //这里使用的是SQLQuery   
  8.         SQLQuery sqlQuery = session.createSQLQuery(sql);   
  9.         //用addEntity方法将表和类对应起来,这样可以以类的方式来操作表   
  10.         sqlQuery.addEntity("user",User.class);   
  11.         List<user></user> users = sqlQuery.list();   
  12.         for(User user : users){   
  13.                
  14.             System.out.println(user.getName());   
  15.             System.out.println(user.getAge());   
  16.             System.out.println("---------------");   
  17.         }   
  18.            
  19.         session.close();   
  20.     }   
  21.        
  22.        
  23.     /*  
  24.      * 同样也可以通过将sql 语句写到文件当中  
  25.      * 与hql 的方式有一点不一样,  
  26.      * 如果要以对象的方式操作表,那么需要在配置文件中做  
  27.      * 表和类的对应  
  28.      */  
  29.        
  30.     public void testSQL1(){   
  31.         Session session = factory.openSession();   
  32.         //这里仍然用的Query,   
  33.         Query query = session.getNamedQuery("hello");   
  34.         List<user></user> users = query.list();   
  35.         for(User user : users){   
  36.             System.out.println(user.getName());   
  37.             System.out.println(user.getAge());   
  38.             System.out.println("------------------");   
  39.                
  40.         }          
  41.         session.close();   
  42.     }  

 

  <!--
         这里将sql语句写到配置文件当中,名字是可以随便取的
     不同于hql的是用的sql-query
     而且将类和表之间对应起来
     u这里是user的别名
    -->
xml 代码
  1. <hibernate-mapping>  
  2.     <class name="org.tie.User" table="user" catalog="tie">  
  3.         <id name="id" type="long">  
  4.             <column name="id" />  
  5.             <generator class="native" />  
  6.         </id>  
  7.         <property name="name" type="string">  
  8.             <column name="name" length="45" not-null="true" />  
  9.         </property>  
  10.         <property name="age" type="integer">  
  11.             <column name="age" not-null="true" />  
  12.         </property>  
  13.         <property name="addr" type="string">  
  14.             <column name="addr" length="45" not-null="true" />  
  15.         </property>  
  16.     </class>  
  17.       
  18.     <sql-query name="hello">  
  19.     select {u.*} from user u   
  20.     <return alias="u" class="org.tie.User"></return>  
  21.     </sql-query>     
  22.   
  23. </hibernate-mapping>  
分享到:
评论
1 楼 jonakang 2007-12-17  
某种情况下,不考虑数据库移植的问题,不考虑以类来操纵表,那么
sqlQuery.addEntity("user",User.class);
这句是可以不写的。我只要result就可以了。

相关推荐

    Hibernate中Sql语句

    ### Hibernate中使用SQL而非HQL语句的知识点详解 在Java开发中,Hibernate作为一个非常流行的ORM框架,提供了多种查询方式,其中就包括了HQL(Hibernate Query Language)和原生SQL查询。本文将针对给定代码片段中...

    hibernate执行原生sql语句

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

    hibernate实现动态SQL查询

    在Hibernate中,我们通常使用HQL(Hibernate Query Language)或Criteria API进行查询,但这些方式并不支持复杂的动态查询。为了实现动态SQL,我们可以借助于Hibernate的QBC(Query By Criteria)和Criteria API,...

    hibernate 执行原生sql的几种方式

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

    Hibernate SQLQuery 本地查询

    总结来说,"Hibernate SQLQuery 本地查询"这篇博客可能深入介绍了如何在Hibernate中使用SQLQuery执行自定义SQL查询,以及如何通过BaseDaoSupport类来封装这些查询,以提升代码的复用性和项目开发效率。通过对SQL...

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

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

    Struts 1.1、Hibernate 3.0和SQL Server 2005数据库驱动包

    Struts 1.1、Hibernate 3.0 和 SQL Server 2005 数据库驱动包是构建基于Java的企业级Web应用程序的关键组件。这些技术在2000年代中期广泛应用于开发面向服务架构(SOA)和模型视图控制器(MVC)模式的系统。 Struts...

    hibernate显示不带?的完整sql

    在开发过程中,为了调试和优化SQL查询,有时我们需要查看Hibernate生成的完整SQL语句,包括其参数值。通常,Hibernate默认输出的SQL语句会用问号(?)作为占位符,这在理解查询逻辑时可能会带来不便。本文将详细介绍...

    Hibernate使用中防止SQL注入的几种方案

    在使用Hibernate进行数据库操作时,虽然它提供了便捷的ORM(对象关系映射)功能,但同时也需要关注SQL注入的安全问题。SQL注入是一种常见的攻击手段,攻击者可以通过输入恶意的SQL语句来篡改数据库信息,严重威胁...

    Hibernate调用配置文件中的sql语句

    通过上述步骤,我们就可以在Hibernate项目中方便地使用配置文件中的SQL语句了。这种方式提高了代码的可读性和可维护性,特别是在处理复杂SQL时,避免了硬编码SQL到Java代码中。同时,它还支持参数化查询,能够有效...

    hibernate数据库通用SQL代码

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

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

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

    hibernate3连接sql server的例子

    本例将详细介绍如何使用Hibernate 3连接到SQL Server数据库。 首先,我们需要了解Hibernate 3的基本配置。在项目中,创建一个名为`hibernate.cfg.xml`的配置文件,用于定义数据库连接参数。例如: ```xml ...

    Hibernate+本地SQL查询SQLQuery宣贯.pdf

    此外,可以在Hibernate的映射文件(hbm.xml)中定义结果集映射,然后在查询中使用: ```java List&lt;Cat&gt; cats = sess.createSQLQuery( "select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten....

    使用hibernate对sqlserver 2005进行增删改查

    在这个场景中,我们将探讨如何使用Hibernate与SQL Server 2005数据库进行基本的CRUD(Create、Read、Update、Delete)操作。 首先,我们需要确保引入了Hibernate的依赖库。从描述中的“Hibernate 所需要的 jar 包”...

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

    开发者可能为了项目需求,或是对现有MyBatis的扩展或简化,创建了自己的SQL解析器,以便在Spring+Hibernate的环境中更便捷地使用自定义SQL。 在实际应用中,这种方式可能包括以下步骤: 1. 定义SQL映射文件,类似于...

    Hibernate生产SQL语句

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者通过面向对象的方式操作数据库,而无需直接编写SQL语句。本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来...

    使用Hibernate访问sqlserver数据库

    **使用Hibernate访问SQL ...在`hbtest`这个项目中,可能包含了用于演示如何使用Hibernate连接SQL Server数据库的相关代码和配置文件。通过分析和运行这些代码,你可以更深入地了解和实践Hibernate与SQL Server的整合。

    让hibernate输出sql语句参数配置.doc

    hibernate.use_sql_comments 参数用于如果开启,Hibernate 将在 SQL 中生成有助于调试的注释信息。其取值为 true 或 false。 14. hibernate.jdbc.fetch_size hibernate.jdbc.fetch_size 参数用于指定 JDBC 抓取...

    在Java的Hibernate框架中使用SQL语句的简单介绍

    本文将详细介绍如何在Hibernate中使用SQL语句。 首先,Hibernate支持使用HQL(Hibernate Query Language),这是一种面向对象的查询语言,类似于SQL。然而,有时我们仍需要直接使用SQL语句,以便利用其灵活性和效率...

Global site tag (gtag.js) - Google Analytics