`

使用addScala将SQLQuery自定义查询映射到pojo中

sql 
阅读更多
SELECT h.*
FROM   Hotel h,
       (SELECT entityId,
               Max(OperationTime)
        FROM   History
        WHERE  managerId = '402881eb3b1ccdcd013b1cce12b80002'
               AND operationType = 11
        GROUP  BY entityId) hi
WHERE  h.id = hi.entityId
       AND h.locationId = '101005001'
----------------------------------------------------------------------
String sql =
    "SELECT h.* " +
    "FROM   Hotel h, " +
           "(SELECT entityId, " +
                   "Max(OperationTime) " +
            "FROM   History " +
            "WHERE  managerId = '402881eb3b1ccdcd013b1cce12b80002' " +
                   "AND operationType = 11 " +
            "GROUP  BY entityId) hi " +
    "WHERE  h.id = hi.entityId " +
           "AND h.locationId = '101005001'";

SQLQuery query = super.getSession().createSQLQuery(sql);
query.addScalar("id", Hibernate.STRING);
query.addScalar("name", Hibernate.STRING);
query.addScalar("englishName", Hibernate.STRING);
query.addScalar("type", Hibernate.INTEGER);
query.addScalar("locationId", Hibernate.STRING);
query.addScalar("characteristic", Hibernate.INTEGER);
query.addScalar("address", Hibernate.STRING);
query.addScalar("description", Hibernate.STRING);
query.addScalar("environment", Hibernate.STRING);
query.addScalar("basicInfo", Hibernate.STRING);
query.addScalar("additional", Hibernate.STRING);
query.addScalar("services", Hibernate.STRING);
query.addScalar("generalFacility", Hibernate.STRING);
query.addScalar("activityFacility", Hibernate.STRING);
query.addScalar("roomFacility", Hibernate.STRING);
query.addScalar("state", Hibernate.INTEGER);

query.setResultTransformer(Transformers.aliasToBean(Hotel.class));
List<Hotel> arr = query.list();
Hotel h = arr.get(0);
System.out.println(h.getName());
分享到:
评论

相关推荐

    TaggedModularConfigurationJava配置库读取并将配置文件映射到POJO

    4. **配置解析**:使用TMC库提供的API读取配置文件,并将其内容映射到之前定义的POJO类。TMC库会自动处理类型转换,例如将字符串转换为整数或日期等。 5. **加载和使用配置**:在应用程序启动时,通过TMC库加载配置...

    MyBatis执行SQL并将结果映射成Java对象.docx

    MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接映射到Java对象。这个文档主要介绍了MyBatis框架的核心概念和基本使用步骤。 首先,MyBatis的配置文件分为两个部分:全局...

    xlsbeans:Java库,用于将Excel工作表映射到POJO

    XLSBeans XLSBeans是一个Java库,用于将Excel工作表映射到POJO。设置要使用XLSBeans,请将... 使用@HorizontalRecords和@LabelledCell将此Excel工作表映射到POJO。 @Sheet ( name = " Users " )public class UserList

    数据表生成pojo

    "数据表生成POJO"这个主题涉及到将数据库中的表结构映射到Java世界中的类,使得我们可以方便地操作数据库中的数据。这通常在ORM(Object-Relational Mapping)框架中进行,例如Hibernate、MyBatis等。 1. **什么是...

    使用MyEclipse工具生成POJO类和映射文件.hbm.xml

    在本篇文章中,我们将学习如何使用 MyEclipse 工具生成 POJO 类和映射文件 .hbm.xml。 POJO(Plain Old Java Object)是一种简单的 Java 对象,它是 Java 语言中的一种基本组件。POJO 类是指不继承自任何特殊的类...

    java6string源码-JdbcMapper:JdbcMapper是一个ORM,可以快速轻松地将普通SQL查询映射到各种POJO(Plai

    查询,并使用它们从不同类型集合的数据库中快速轻松地选择 POJO(Plain Old Java 对象)。 类型安全贯穿始终,因此不需要强制转换或忽略警告。 有两种不同的方法可以实现这一点。 JdbcMapper 在编译时生成代码,...

    mysql表映射成java实体类

    这些文件可以被编译并加入到项目的类路径中,以便在实际应用中使用。 总结,通过上述步骤,你可以实现一个自动化工具,从MySQL数据库中获取所有表的信息,然后根据这些信息自动生成Java实体类。这种方式可以显著...

    hibernate生成的订单信息映射文件以及pojo类

    在这个场景中,我们讨论的是如何使用MyEclipse工具来生成Hibernate的映射文件以及对应的POJO(Plain Old Java Object)类,这些类是数据库表的Java表示形式。 首先,映射文件是Hibernate的核心组成部分,它是XML...

    mybatis_02 输入输出映射 动态sql 对象关系映射 整合

    在MyBatis中,输入映射主要指如何将Java对象中的数据映射到SQL语句中。这包括基本类型和复杂类型(POJOs)。对于简单的数据类型如`int`, `String`等,可以直接作为参数传递给SQL语句。而对于复杂的POJO对象,则需要...

    hibernate tools 生成pojo

    4. **执行生成操作**:在IDE中使用Hibernate Tools的代码生成功能,选择对应的HBM文件,工具会根据文件中的映射信息自动生成对应的POJO类,包括属性、getter和setter方法,以及可能的构造函数。 5. **检查和修改**:...

    Mybatis-03 SQL映射文件

    MyBatis支持在XML映射文件中使用条件标签实现动态SQL,如`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;trim&gt;`, `&lt;set&gt;`等。这些标签允许根据特定条件拼接SQL语句,极大地提高了代码的灵活性。 7. *...

    自动生成mybatis映射文件,mapper接口和pojo实体类

    例如,`selectByExample`方法会在XML文件中有一个对应的`&lt;select&gt;`标签,里面包含根据条件查询的SQL语句。实体类(POJO)则封装了数据库表的字段,提供getter和setter方法,方便操作数据。 纯接口开发是MyBatis的一...

    SSM笔记-POJO

    本笔记主要探讨了如何在SpringMVC中使用POJO来处理请求参数,以及SpringMVC如何自动将请求参数填充到对应的POJO对象中。 首先,理解POJO的概念。POJO是一个简单的Java对象,没有特定的约束或依赖于任何框架。在SSM...

    ssm框架自动生成pojo,mapper

    5. **整合到项目中**:将生成的文件导入到你的SSM项目中,更新相关的配置文件,如Spring的配置文件、MyBatis的配置文件等。 6. **测试**:运行项目,测试生成的代码是否能正常工作。 通过这种方式,即使在不支持...

    Mybatis生成pojo插件

    Mybatis是一款广受欢迎的Java持久层框架,它简化了数据库操作与对象模型之间的映射,提供了灵活的SQL映射和基于XML或注解的配置方式。在开发过程中,经常需要手动创建POJO(Plain Old Java Object)类来作为数据表的...

    java Pojo转Map

    本文将详细介绍如何实现Java中的Pojo到Map的转换,并通过具体的示例来演示这一过程。 首先,我们需要一个Pojo类,例如: ```java public class User { private String name; private int age; // getters and ...

    mybatis最终工具+pojo+dao+mapper一键生成

    MyBatis是一个强大的Java持久层框架,它简化了数据库操作,允许开发者将SQL语句直接映射到Java方法。在本项目中,"mybatis最终工具+pojo+dao+mapper一键生成" 提供了一个自动化工具,能够快速生成MyBatis相关的实体...

    java反射封装结果集内容到pojo

    当我们从数据库读出数据得到ResultSet或RowSet的时候,我们的做法是遍历结果集,然后封装到pojo里面,再封装到List,那么,每次封装是不是很麻烦呢,前段时间小弟看了下反射的东西,试着写了个类,目的在于方便封装...

    SSM项目实战pojo类

    7. **ORM映射**:在MyBatis中,XML配置文件或注解会将POJO类与SQL语句关联起来,使得数据库操作更加直观。例如,通过`&lt;select&gt;`、`&lt;insert&gt;`、`&lt;update&gt;`和`&lt;delete&gt;`标签,我们可以定义查询、插入、更新和删除操作...

    MyBatis SQL映射器框架的Java.zip

    它可以使用预编译的PreparedStatement来防止SQL注入,通过`#{}`占位符将Java对象的属性值绑定到SQL语句中。此外,还可以使用Map或POJO类作为参数,方便传递复杂的数据结构。 在结果处理上,MyBatis提供了灵活的结果...

Global site tag (gtag.js) - Google Analytics