`
fly_宇光十色
  • 浏览: 64703 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mybatis一个莫名的NullPointerException

阅读更多

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 

### Error querying database.  Cause: java.lang.NullPointerException

### The error may involve defaultParameterMap

### The error occurred while setting parameters

### Cause: java.lang.NullPointerException

at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:360)

at com.sun.proxy.$Proxy17.selectList(Unknown Source)

at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:183)

 

 

异常信息如上。纠结了半天找不到原因。这个NullPointerException 是框架里报的,但是不知道是什么导致它报的。

后来发现我的mapper文件里的代码

 

<resultMap id="test_category" type="com.changyou.ims.mobile.model.TestCategory" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="content"jdbcType="VARCHAR" />
    <result column="icon" jdbcType="VARCHAR" />
  </resultMap>

 result里没有写property属性。最初我以为 不写此属性,会默认和column属性一样。看来我的以为错了。

 

把property属性加上就好了

<resultMap id="test_category" type="com.changyou.ims.mobile.model.TestCategory" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="content" property="content" jdbcType="VARCHAR" />
    <result column="icon"  property="icon" jdbcType="VARCHAR" />
  </resultMap>

 特此记录!

0
0
分享到:
评论

相关推荐

    springmybatis

    无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4....

    mybatis返回Integer

    总的来说,使用Integer作为MyBatis的返回值类型可以更好地处理SQL查询结果可能为null的情况,同时结合SpringMybatis,我们可以构建出一个灵活、可扩展的持久层架构。理解这些知识点对于提升Java Web开发的效率和质量...

    mybatis并发执行时出现NullPointerExce

    MyBatis是一个优秀的持久层框架,它简化了Java开发中的SQL操作,通过XML或注解方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在多线程环境中,如果对...

    mybatis-3.4.6.zip

    MyBatis 3.4.6 发布了。主要更新内容如下: 提升 将自定义ResultHandler应用于CURSOR类型OUT参数。 #493 在包含的SQL片段的属性值中替换变量。 #1069 BatchExecutor现在在执行后立即关闭每个语句。 #1110 现在...

    关于mybatis callSettersOnNulls 配置解析

    `callSettersOnNulls` 是 MyBatis 中的一个重要配置项,它涉及到对象属性赋值的策略,尤其是在处理查询结果集时。 在默认情况下,当从数据库查询结果中映射对象时,MyBatis 只会调用那些查询结果中有值的字段对应的...

    BOOT客户管理系统所需jar包

    MyBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了更灵活的数据库操作方式。MyBatis的XML配置文件或者注解可以用来定义SQL映射,同时,MyBatis的Executor执行器负责执行SQL并处理结果集,从而...

    深入学习Spring Boot排查 @Transactional 引起的 NullPointerException问题

    然而,在某些情况下,使用 @Transactional 注解可能会引起 NullPointerException,这是一个非常棘手的问题。本文将深入探讨 Spring Boot 中 @Transactional 引起的 NullPointerException 问题,并提供解决方案。 ...

    202310雪中悍刀行面试题

    工厂模式是用于提供一个创建对象的接口,例如 Mybatis 的 SqlSessionFactoryBuilder。代理模式是用于提供一个代理对象,例如 Spring 的 AOP。策略模式是用于提供一个算法接口,例如同一个接口有多种不同的实现类。 ...

    Vendition jsp项目。。

    Vendition是一个基于JSP(JavaServer Pages)技术的项目,该项目可能是一个Web应用程序,用于管理销售、库存或者客户关系等业务流程。JSP是一种在服务器端运行的动态网页技术,它允许开发者将HTML代码与Java代码混合...

    2019年java面试题集锦.docx

    MyBatis 是一个轻量级的持久层框架,它将SQL语句和Java代码分离,提供更灵活的数据库操作。 08-09:消息队列RabbitMQ与Kafka RabbitMQ 是基于AMQP协议的消息中间件,适用于高并发、低延迟的场景,支持多种语言...

    面试repo.txt

    单例模式确保一个类只有一个实例,并提供一个全局访问点。常用实现方式有懒汉式、饿汉式、双重检查锁定等。 #### 2. 工厂模式 工厂模式提供了一个创建对象的接口,但让子类决定实例化哪个类。工厂方法使一个类的...

    Java面试题-完整版.pdf

    + 核心原因:连接池主要是重复使用一个现有的数据库连接,而不是重新建立一个。 + 不使用会怎样:如果不使用连接池,需要每次连接数据库都创建新的连接,频繁地进行数据库连接操作将占用很 多的系统资源,严重的...

    工作日志_李响115_202109071

    - 遇到了`NullPointerException`,这通常表示在服务端尝试访问一个未初始化的对象或null值。问题可能出现在Servlet服务处理请求时,需要通过调试代码找出具体原因,例如检查依赖注入是否正确、对象是否为null等。 ...

    总结了java容易出错的信息 以及错误信息类型

    2. **空指针异常类:NullPointerException** - 当程序试图访问或操作一个null引用的对象时,会抛出此异常。 3. **类型强制转换异常:ClassCastException** - 在进行类型转换时,如果目标类型与实际对象类型不符,就...

    Spring宠物店非常典型的展现了Spring和IBatis的整合

    首先,Spring宠物店项目是Spring官方提供的一个示例,它展示了Spring框架如何管理应用程序的组件,以及如何与其他框架如IBatis进行集成。该项目包含了一个简单的电子商务系统,用户可以在其中浏览和购买宠物及相关的...

    java知识2

    继承允许一个类(子类)继承另一个类(父类)的属性和方法。多态性使得同一个方法可以有不同的行为,具体取决于调用它的对象。 3. **集合框架**:Java集合框架包括List、Set、Queue和Map等接口,以及ArrayList、...

    java高级工程师面试总结

    - MyBatis是一个半自动的ORM框架,更适合复杂的SQL查询和定制化需求。 - **Hibernate延迟加载的机制**: - 延迟加载是指在需要的时候才加载关联的对象,以减少内存消耗和提高性能。 - Hibernate通过代理模式实现...

    java开发java开发

    标签"example2"可能指的是一个示例项目或代码实例,这通常用于教学或演示特定的编程概念。 1. **Java基础知识**:Java是一种面向对象的、跨平台的编程语言,它的语法基于C++但进行了简化,以提高可读性和可维护性。...

    Java后端知识图谱.zip

    Java后端知识图谱是一个深度学习Java开发人员必备的资源集合,它涵盖了广泛的Java后端技术领域,旨在帮助开发者构建全面而深入的理解。这个压缩包中的"athena-master"项目可能是一个示例或实践项目,通常在Java后端...

    java面试题+答案整理

    - `HashMap` 和 `HashSet`:`HashMap` 是一个存储键值对的数据结构,允许快速查找;`HashSet` 存储不重复的元素,底层依赖`HashMap` 实现。 2. **并发编程**: - 多线程在Java中非常重要,面试中会考察...

Global site tag (gtag.js) - Google Analytics