`

mybatis sql出现查询的返回值为object类型问题

 
阅读更多

原来sql是这么写的 

select * from 

(select e.keyid,e.trade_sub_id,e.product_id,e.product_name,a.owenauth_userid from 

<!-- e --> (select id as keyid,trade_sub_id,product_id,product_name from ente_product where sysdate() between start_date and end_date  and ente_id=#{ente_id} ) e 

<!-- a --> left join (select ifnull(owenauth_userid,'') as owenauth_userid,trade_sub_id from ent_total_authno where isauth='1' and sysdate() between auth_start_date and auth_end_date

and owenauth_userid=#{owenauth_userid}

) a 

<!-- pro --> on e.trade_sub_id=a.trade_sub_id group by e.keyid) pro 

left join 

<!-- goo -->(select distinct g.id as gid,g.inurl,ifnull(p.mainpicurl,'') as mainpicurl from goods_mainpic p right join goods g on g.id=p.goodsid group by g.id) goo 

on goo.gid=pro.product_id

返回的值中owenauth_userid  为object类型 且取值不正确, 后来把红色改为owenauth_userid 就得到正常值了,原因是owenauth_userid在数据库是bigint类型,所以应该写成ifnull(owenauth_userid ,0) as owenauth_userid 

 

分享到:
评论

相关推荐

    Mybatis拦截器实现统计sql执行时间及打印完整sql语句

    这在调试和性能优化时非常有用,因为它能帮助我们了解哪些 SQL 查询可能成为性能瓶颈。 首先,我们需要创建一个实现了 Mybatis `Interceptor` 接口的类,例如 `MybatisInterceptor.java`。这个接口提供了三个方法:...

    springmybatis

    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan ...

    mybatis开发步骤

    Mapper.xml文件是MyBatis的映射文件,用于配置SQL语句和返回值类型。以下是一个简单的Mapper.xml文件示例: ```xml &lt;mapper namespace="com.mybatis.xinyou.dao.StudentDAO"&gt; &lt;!-- 查询 --&gt; &lt;!-- map作为参数时,...

    MyBatis学习实例

    MyBatis,作为Java开发中的一个热门持久层框架,它为开发者提供了强大的SQL映射功能,使得数据库操作变得更加灵活和高效。本资源“MyBatis学习实例”旨在帮助你深入理解并掌握MyBatis的核心概念和实践应用。 1. **...

    MyBatis中文教程pdf

    通过resultMap元素,可以定义SQL查询结果的返回值与Java对象属性的映射关系。resultMap还可以包含复杂的嵌套结果集,允许你创建复杂的SQL语句并将其映射到对象图中。 MyBatis还支持类型处理器(typeHandlers),...

    mybatis interceptor 处理查询参数及查询结果的实例代码

    在MyBatis框架中,Interceptor(拦截器)是一种强大的工具,允许我们在执行SQL语句之前或之后进行自定义处理。`mybatis interceptor`是MyBatis的核心组件之一,它允许我们扩展MyBatis的行为,例如处理查询参数、修改...

    MyBatis调用存储过程

    在MyBatis的映射文件(mapper.xml)中,我们需要为存储过程创建一个`&lt;select&gt;`标签,但与通常的查询不同,这里需要设置`id`(标识符)、`resultMap`(结果映射)以及`statementType="CALLABLE"`,这表明这是一个调用...

    Mybatis-Study.rar

    MyBatis由SQL Map和iBATIS发展而来,是一个优秀的轻量级ORM(Object-Relational Mapping,对象关系映射)框架,它简化了数据库操作,使得开发者可以直接用Java代码来编写SQL语句,从而避免了JDBC的繁琐工作。...

    mybatis调用存储过程源码

    - MyBatis的`@Param`注解用于指定参数名和类型,`@Result`用于指定返回值。 - 存储过程的输入参数用`#{paramName}`表示,输出参数需要在Map中设置,并在存储过程中声明为`OUT`类型。 - 有时存储过程返回多个结果...

    mybatis WEB

    6. **结果映射与参数映射**:MyBatis提供强大的映射机制,能够自动将SQL查询结果映射到Java对象,或者将Java对象的属性映射到SQL的参数。例如,`@Param`和`@Result`注解用于注解方法参数和返回值。 7. **动态SQL**...

    精选MyBatis思维导图分享,超全超详细,思维导图附代码你们见过吗?高清

    MyBatis是一个半自动的ORM(Object Relation Mapping)框架,用于简化Java应用程序中的数据访问。下面是MyBatis的思维导图: 一、MyBatis介绍 * MyBatis是一个半自动的ORM框架,需要手写SQL语句。 * MyBatis是...

    struts2+spring+mybatis

    MyBatis允许开发者编写SQL语句,将SQL操作映射到Java接口上,通过Mapper XML配置文件或注解定义SQL与Java方法的映射关系。这样,业务逻辑代码可以直接调用这些接口来执行SQL,提高了开发效率,并且易于维护。 在...

    result最为返回值

    总结来说,将ResultSet转换为Result对象是Java数据库操作中一个实用的技巧,它增强了数据的可维护性和安全性,避免了由于连接关闭导致的数据丢失问题。在编写Java应用程序,特别是涉及数据库交互的部分时,推荐采用...

    一图读懂mybatis插件plugin原理

    在这里,你可以添加自定义的逻辑,如打印SQL、修改参数、改变返回值等。 例如,一个简单的日志插件可能如下所示: ```java public class MyLogInterceptor implements Interceptor { @Override public Object ...

    Mybatis源码(4)-拦截器.pdf

    在Mybatis框架中,拦截器(Interceptor)是一个强大的工具,它允许开发者在特定的执行阶段对操作进行干预,实现诸如日志记录、性能监控、事务管理、动态SQL等自定义功能。Mybatis提供了Interceptor接口,使得程序员...

    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)

    - **Mapper XML文件**:定义了SQL语句和Mapper接口方法的映射,包括参数和返回值的类型。 通过Mybatis-Generator,开发者可以快速响应数据库结构的变更,无需手动修改大量代码,保持了代码的整洁和一致性。同时,...

    spring-mybatis-spring-1.2.2_src.zip

    MyBatis是一个优秀的持久层框架,它简化了DAO(Data Access Object)层的开发,允许开发者用XML或注解来编写SQL映射,将SQL与Java代码分离,提高了可维护性和可读性。 3. **Spring与MyBatis整合** - **配置数据源...

    面向对象,JQuery,javascript,java基础,mybatis的接口开发的思维导图

    面向对象(Object-Oriented Programming,简称OOP)的主要思想是将现实世界中的事物抽象为类,再通过类创建对象来处理问题。类是具有属性(数据成员)和方法(函数)的蓝图,而对象则是类的实例。OOP的四大原则包括...

    详细介绍MyBatis 3.4.0版本的功能

    首先,最显著的新特性是引入了Cursor返回值类型。Cursor是一种延迟加载的数据访问接口,类似于Java的Iterator,但更适合处理大量数据。当查询的数据量非常大,一次性加载到内存可能导致内存溢出。通过Cursor,用户...

    MyBatis实践之DAO与Mapper

    Mapper接口中的每个方法都代表一个SQL操作,方法的参数和返回值可以用来传递查询条件和接收查询结果。MyBatis通过扫描Mapper接口,结合XML或注解中的配置,动态生成SQL语句,并执行它。例如: ```java public ...

Global site tag (gtag.js) - Google Analytics