0 0

Mybatis获取不到查询结果0

配置文件如下:
<select id="searchHiddenListDetailList" parameterType="java.util.Map" resultType="AqGenerallyHidden">
        SELECT
            GENERALLY_HIDDEN_ID AS generallyHiddenId,
            CHECK_DATE AS checkDate,
            DICT_CHECK_TYPE_ID AS dictCheckTypeId,
            CHECK_DEPT_ID AS checkDeptId,
            HIDDEN_DEPT_ID AS hiddenDeptId,
            LAST_DEPT_ID AS lastDeptId,
            GENERALLY_PROBLEMS AS generallyProblems,
            RECTIFICATION_STATUS AS rectificationStatus,
            REPORTED_USER_NAME AS reportedUserName,
            REPORTED_USER_ID AS reportedUserId,
            REPORTED_DATE AS reportedDate,
            RECTIFICATION_DATE AS rectificationDate,
            DICT_WARN_LEVEL_ID AS dictWarnLevelId,
            CUR_WARN_LEVEL_ID AS curWarnLevelId,
            HIST_WARN_LEVEL_ID AS histWarnLevelId,
            REVIEW_USER_NAME AS reviewUserName,
            REVIEW_DATE AS reviewDate,
            THIRD_DEPT_ID AS thirdDeptId,
            HAZARD_ID AS hazardId,
            DICT_RECTIFICATION_TYPE_ID AS dictRectificationTypeId,
            CREATE_USER_NAME AS createUserName,
            DELAY_STATUS AS isDelayAudit,
            DELAY_AUDIT_STATUS AS delayAuditStatus,
            DELAY_AUDIT_USER_ID AS delayAuditUserId,
            DELAY_CONFIM_DATE AS delayConfimDate,
            RESPON_USER_ID AS responUserId,
            FOUR_CONFIRM_FLAG AS fourConfirmFlag,
            FOUR_CONFIRM_STATUS AS fourConfirmStatus,
            DICT_HIDDEN_LEVEL_ID AS dictHiddenLevelId,
            GENERALLY_ADDRESS AS generallyAddress,
            DICT_SPECIALTY_TYPE_ID AS dictSpecialtyTypeId,
            RECTIFICATION_MANDATE AS rectificationMandate,
            RECT_USER_ID AS rectUserId,
            DICT_BELONGS_PLATE_ID AS dictBelongsPlateId,
            DESTROY_STATUS AS destroyStatus,
            GENERALLY_HIDDEN_STATUS AS generallyHiddenStatus,
            PENALTY_POINTS AS penaltyPoints
        FROM AQ_GENERALLY_HIDDEN LEFT JOIN (SELECT CONFIG_ID,DICT_HIDDEN_LEVEL_ID FROM AQ_HAZARD_INFO, AQ_HAZARD_CONFIG WHERE AQ_HAZARD_INFO.HAZARD_ID = AQ_HAZARD_CONFIG.HAZARD_ID) TEMP
        ON AQ_GENERALLY_HIDDEN.HAZARD_ID = TEMP.CONFIG_ID
        <trim prefix="WHERE" prefixOverrides="AND | OR">
        <if test="subDeptId != null and subDeptId != ''">
           AND SUB_DEPT_ID = #{subDeptId}
        </if>
        <if test="startDate != null and startDate != ''">
           AND CHECK_DATE &gt;= #{startDate}
        </if>
        <if test="endDate != null and endDate != ''">
           AND CHECK_DATE &lt;= #{endDate}
        </if>
        <if test="checkDeptId != null and checkDeptId == '1'.toString()">
           AND CHECK_DEPT_ID NOT IN (11111111, 11111112, 11111113, 11111114, 11111115)
        </if>
        <if test="checkDeptId != null and checkDeptId != '1'.toString()">
           AND CHECK_DEPT_ID = #{checkDeptId}
        </if>
        <if test="hiddenDeptId != null">
           AND HIDDEN_DEPT_ID = #{hiddenDeptId}
        </if>
        <if test="deleteFlag != null">
           AND DELETE_FLAG = #{deleteFlag}
        </if>
        <if test="deptId != null and deptId != ''">
           AND LAST_DEPT_ID = #{deptId}
        </if>
        <if test="isAllFlag != null and isAllFlag == '1'.toString()">
           AND RECTIFICATION_STATUS = 1
        </if>
        <if test="isAllFlag != null and isAllFlag == '2'.toString()">
           AND RECTIFICATION_STATUS IN (0,1)
        </if>
        </trim>
        ORDER BY GENERALLY_HIDDEN_ID DESC
     </select>


entity如下
public class AqGenerallyHidden extends BaseEntity {

    private static final long serialVersionUID = -5069942087880879743L;

    /**
     * 一般隐患ID
     */
    private Long generallyHiddenId = null;

    /**
     * 检查日期
     */
    private String checkDate = null;

    /**
     * 检查类型
     */
    private Long dictCheckTypeId = null;
.
.
.



Dao如下
public abstract List<AqGenerallyHidden> searchHiddenListDetailList(Map<String, String> paramMap);


service如下:
public List<AqGenerallyHidden> searchHiddenListDetailList(Map<String, String> paramMap) {
        try {
            List<AqGenerallyHidden> list = ((AqGenerallyStatisticsDao) super.getBaseDao()).searchHiddenListDetailList(paramMap);
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            throw new BusinessException("[searchHiddenListDetailList]操作异常");
        }
    }


现在程序执行不报错。能打印sql语句。sql语句可以执行,并且能查询到数据。
但是返回的List<AqGenerallyHidden>为空。
不知道为什么,求各位指教。
2014年8月20日 10:19

3个答案 按时间排序 按投票排序

0 0

我觉得应该是AqGenerallyHidden的属性没有些set和get方法。

2014年8月21日 10:19
0 0

应该是entity类没有set/get方法引起的。请检查。

2014年8月21日 07:51
0 0

resultType="AqGenerallyHidden"这个应该就是你的Domain对象,你上述的查询没有赋值进去可能是你使用的数据库(如oracle)查询出来的结果列没有跟Domain对象中的setXXX对应上,有种情况就是AS查询后你的列如”generallyHiddenId“变成全大写的,自然在设置值得时候就设置不上,如果使用oracle建议as后的别名加上双引号""。

上述问题我没遇到,但是如果我没有加双引号返回到前台的JSON就是全部大写,所以我初略估计你也应该是这个问题(前台是使用同一SQL后台查询是有数据的前提下)

2014年8月20日 17:55

相关推荐

    mybatis 父子级树形结构查询

    在MyBatis的映射XML文件中,`&lt;collection&gt;`标签用于表示一对多的关系,它允许我们在一次查询中获取到一个对象的所有子对象,从而构建出树形结构。例如,如果我们有一个`Department`实体类,其中包含一个`List...

    MyBatis动态条件通用查询

    MyBatis动态条件通用查询是数据库操作中常见的一种需求,它允许开发者在不编写大量重复SQL语句的情况下,根据传入的参数灵活地执行查询。这个功能的核心在于利用MyBatis的动态SQL特性,结合Map数据结构来构建可变的...

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

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

    mybatis定时任务列表查询分页切割

    MyBatis作为一个轻量级的持久层框架,提供了强大的SQL映射和数据访问能力,但在处理大量数据时,一次性加载所有结果可能会导致内存溢出,因此分页查询显得尤为重要。本文将详细介绍如何在MyBatis中实现定时任务列表...

    MyBatis入门到精通

    结果映射用于将查询结果自动映射到Java对象,可以是单个对象,也可以是集合。MyBatis通过`resultType`或`resultMap`属性进行配置。 9. **级联操作** MyBatis支持一对多、多对多的复杂关联映射,通过`association`...

    mybatis查询简单示例

    6. **结果映射**:查询结果会自动映射到Java对象,MyBatis支持基本类型和复杂类型的映射。在映射文件中,你可以定义`&lt;resultMap&gt;`标签来指定字段与Java属性之间的对应关系。 7. **Mapper接口与XML映射文件**:在...

    Mybatis查不到数据查询返回Null问题

    首先,当Mybatis返回的查询结果为NULL时,可能的原因有很多。一种常见的原因是SQL语句的执行问题,例如查询条件不匹配或者SQL语句本身有语法错误。从提供的日志信息来看,我们看到的SQL语句是: ```sql SELECT id,a...

    mybatis多表查询.zip

    同时,可以利用`@ResultMap`和`@Results`注解来处理查询结果的映射。 5. **动态SQL** MyBatis的动态SQL功能使得在多表查询时能够根据条件灵活生成SQL。通过`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;...

    Jsp+Servlet+MyBatis完成分页查询

    5. **Servlet处理结果并响应**:Servlet获取到服务类返回的分页数据后,可以将其封装成一个ModelAndView对象,或者直接在HttpServletResponse对象中设置响应内容,然后返回到JSP页面进行渲染。 6. **更新JSP页面**...

    mybatis获取自增主键的值

    MyBatis允许我们通过配置XML映射文件或注解来指定如何将SQL查询结果映射到Java对象。在插入操作中,如果我们需要获取自增主键的值,MyBatis提供了一个特别的返回值处理机制。 3. **使用`useGeneratedKeys`和`...

    mybatis 关联查询完整代码

    ResultMap是MyBatis用来映射查询结果到Java对象的工具,它可以处理复杂的数据结构,包括一对一、一对多和多对多的关系。 1. **一对一关联查询**: 在一对一关系中,我们可以在ResultMap中定义一个association元素...

    mybatis demo mybatis 实例

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 标题...

    springmybatis

    现在运行这个程序,是不是得到查询结果了。恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。 整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! ...

    mybatis-plus分页查询的实现示例.docx

    MyBatis-Plus 是一个基于 ...当执行分页查询的方法时,`PaginationInterceptor` 插件会自动处理 SQL,计算总数并分页,最后将分页后的结果返回给业务代码。这种方式极大地简化了开发过程,提高了代码的可读性和维护性。

    支持连表查询的mybatis-plus

    MyBatis-Plus(简称MP)是MyBatis框架的一个扩展,它在MyBatis的基础上提供了许多便捷的功能,包括但不限于自动填充 CRUD 操作、条件构造器、动态 SQL 等。在描述中提到的“支持连表查询的mybatis-plus”,意味着MP...

    MyBatis拦截器:给参数对象属性赋值的实例

    当拦截器的`intercept`方法被调用时,它首先获取到方法的所有参数,并打印当前线程ID。然后,它遍历这些参数,检查每个参数的类型。这里重点关注的是第一个参数,因为它是`MappedStatement`,包含了SQL命令的类型。 ...

    mybatisX-idea插件

    文件名称"MybatisX-idea.0.1.0.jar"表示的是插件的0.1.0版本,通常每个版本都会有不同程度的改进和修复,用户应保持更新以获取最佳体验。 5. **集成与兼容性**: MybatisX-idea插件需要IDEA支持,适用于Java开发...

    MyBatis_Plus

    3. **主键自增与回填**:对于主键自增的表,MyBatis_Plus 可以自动处理插入后的主键值,无需手动获取。 4. **分页查询**:MyBatis_Plus 内置了分页插件,能够方便地实现物理分页和逻辑分页,避免了手动编写复杂的...

    mybatis-jar包

    3. **结果映射**:MyBatis可以自动将查询结果映射到Java对象,无需手动编写getter和setter方法。它支持复杂的数据类型映射,包括自定义的映射规则。 4. **缓存机制**:MyBatis内置了两级缓存,一级缓存在Mapper级别...

    mybatis条件查询

    本文将深入探讨MyBatis的条件查询,以及如何通过搜索关键字来获取所需信息。 MyBatis是一个轻量级的ORM(对象关系映射)框架,它允许开发者用SQL语句直接操作数据库,同时又能与Java对象进行绑定,实现了数据的灵活...

Global site tag (gtag.js) - Google Analytics