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>
特此记录!
相关推荐
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4....
总的来说,使用Integer作为MyBatis的返回值类型可以更好地处理SQL查询结果可能为null的情况,同时结合SpringMybatis,我们可以构建出一个灵活、可扩展的持久层架构。理解这些知识点对于提升Java Web开发的效率和质量...
MyBatis是一个优秀的持久层框架,它简化了Java开发中的SQL操作,通过XML或注解方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在多线程环境中,如果对...
MyBatis 3.4.6 发布了。主要更新内容如下: 提升 将自定义ResultHandler应用于CURSOR类型OUT参数。 #493 在包含的SQL片段的属性值中替换变量。 #1069 BatchExecutor现在在执行后立即关闭每个语句。 #1110 现在...
`callSettersOnNulls` 是 MyBatis 中的一个重要配置项,它涉及到对象属性赋值的策略,尤其是在处理查询结果集时。 在默认情况下,当从数据库查询结果中映射对象时,MyBatis 只会调用那些查询结果中有值的字段对应的...
MyBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了更灵活的数据库操作方式。MyBatis的XML配置文件或者注解可以用来定义SQL映射,同时,MyBatis的Executor执行器负责执行SQL并处理结果集,从而...
然而,在某些情况下,使用 @Transactional 注解可能会引起 NullPointerException,这是一个非常棘手的问题。本文将深入探讨 Spring Boot 中 @Transactional 引起的 NullPointerException 问题,并提供解决方案。 ...
工厂模式是用于提供一个创建对象的接口,例如 Mybatis 的 SqlSessionFactoryBuilder。代理模式是用于提供一个代理对象,例如 Spring 的 AOP。策略模式是用于提供一个算法接口,例如同一个接口有多种不同的实现类。 ...
Vendition是一个基于JSP(JavaServer Pages)技术的项目,该项目可能是一个Web应用程序,用于管理销售、库存或者客户关系等业务流程。JSP是一种在服务器端运行的动态网页技术,它允许开发者将HTML代码与Java代码混合...
MyBatis 是一个轻量级的持久层框架,它将SQL语句和Java代码分离,提供更灵活的数据库操作。 08-09:消息队列RabbitMQ与Kafka RabbitMQ 是基于AMQP协议的消息中间件,适用于高并发、低延迟的场景,支持多种语言...
单例模式确保一个类只有一个实例,并提供一个全局访问点。常用实现方式有懒汉式、饿汉式、双重检查锁定等。 #### 2. 工厂模式 工厂模式提供了一个创建对象的接口,但让子类决定实例化哪个类。工厂方法使一个类的...
+ 核心原因:连接池主要是重复使用一个现有的数据库连接,而不是重新建立一个。 + 不使用会怎样:如果不使用连接池,需要每次连接数据库都创建新的连接,频繁地进行数据库连接操作将占用很 多的系统资源,严重的...
- 遇到了`NullPointerException`,这通常表示在服务端尝试访问一个未初始化的对象或null值。问题可能出现在Servlet服务处理请求时,需要通过调试代码找出具体原因,例如检查依赖注入是否正确、对象是否为null等。 ...
2. **空指针异常类:NullPointerException** - 当程序试图访问或操作一个null引用的对象时,会抛出此异常。 3. **类型强制转换异常:ClassCastException** - 在进行类型转换时,如果目标类型与实际对象类型不符,就...
首先,Spring宠物店项目是Spring官方提供的一个示例,它展示了Spring框架如何管理应用程序的组件,以及如何与其他框架如IBatis进行集成。该项目包含了一个简单的电子商务系统,用户可以在其中浏览和购买宠物及相关的...
继承允许一个类(子类)继承另一个类(父类)的属性和方法。多态性使得同一个方法可以有不同的行为,具体取决于调用它的对象。 3. **集合框架**:Java集合框架包括List、Set、Queue和Map等接口,以及ArrayList、...
- MyBatis是一个半自动的ORM框架,更适合复杂的SQL查询和定制化需求。 - **Hibernate延迟加载的机制**: - 延迟加载是指在需要的时候才加载关联的对象,以减少内存消耗和提高性能。 - Hibernate通过代理模式实现...
标签"example2"可能指的是一个示例项目或代码实例,这通常用于教学或演示特定的编程概念。 1. **Java基础知识**:Java是一种面向对象的、跨平台的编程语言,它的语法基于C++但进行了简化,以提高可读性和可维护性。...
Java后端知识图谱是一个深度学习Java开发人员必备的资源集合,它涵盖了广泛的Java后端技术领域,旨在帮助开发者构建全面而深入的理解。这个压缩包中的"athena-master"项目可能是一个示例或实践项目,通常在Java后端...
- `HashMap` 和 `HashSet`:`HashMap` 是一个存储键值对的数据结构,允许快速查找;`HashSet` 存储不重复的元素,底层依赖`HashMap` 实现。 2. **并发编程**: - 多线程在Java中非常重要,面试中会考察...