解决mybatis 执行mapper的方法时报空指针问题

mybatis报空指针

今天在test类掉用service层往数据库存数据的时候,控制台报空指针异常。找了很久找不到原因。

解决

配置文件,注解,依赖都是对的。

最后发现是因为在test类调用service时没有加@Resource注解,加上就好了。@Autowired

调用mybatis的xml中sql语句报空指针

svn下载项目后,启动项目后发现一个奇怪的问题:登陆系统时,需要验证用户密码等信息(使用mybatis的xml里语句调用oracle数据库,会报空指针问题),检查数据库配置,sql语句均正常。

后来想到是maven项目,本地使用的tomcat是7,jdk是1.7,而项目下载下来时1.5。

分析可能是jdk版本不兼容的问题

在pom.xml文件配置:

<configuration>
   <source>1.7</source>
   <target>1.7</target>
</configuration>

问题解决。以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在service层注入mapper时报空指针的解决

    在service层注入mapper时报空指针 今天又遇到一个极其刁钻的问题,废话不多说先上代码,测试单元 @RunWith(SpringRunner.class) @SpringBootTest(classes = SpringBoot_Run.class) @ContextConfiguration(locations = { "classpath:mybatis/mappers/RevMapper.xml" }) public class TestTransaction { @Au

  • 详解Mybatis内的mapper方法为何不能重载

    动态代理的功能:通过拦截器方法回调,对目标target方法进行增强. 言外之意就是为了增强目标target方法.上面这句话没错,但也不要认为它就是真理,殊不知,动态代理还有投鞭断流的霸权,连目标target都不要的科幻模式. 注:本文默认认为,读者对动态代理的原理是理解的,如果不明白target的含义,难以看懂本篇文章,建议先理解动态代理. 1. 自定义JDK动态代理之投鞭断流实现自动映射器Mapper 首先定义一个pojo. public class User { private Intege

  • Mybatis的Mapper中的方法为什么不能重载

    前言 在初入门Mybatis的时候可能都犯过一个错误,那就是在写Mapper接口的时候都重载过其中的方法,但是运行起来总是报错,那时候真的挺郁闷的,但是自己也查不出来原因,只能默默的改了方法名,哈哈,多么卑微的操作. 今天就写一篇文章从源码角度为大家解惑为什么Mybatis中的方法不能重载? 环境配置 本篇文章讲的一切内容都是基于Mybatis3.5和SpringBoot-2.3.3.RELEASE. 错误示范 举个栗子:假设现在有两个需求,一个是根据用户的id筛选用户,一个是根据用户的性别筛选

  • 浅谈Mybatis通用Mapper使用方法

    对单表进行增删改查是项目中不可避免的需求,Mybatis的通用Mapper插件使这些操作变得简单 添加maven依赖 在对应工程的pom.xml文件中添加 <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>1.0</version> </dependency> &

  • 解决mybatis 执行mapper的方法时报空指针问题

    mybatis报空指针 今天在test类掉用service层往数据库存数据的时候,控制台报空指针异常.找了很久找不到原因. 解决 配置文件,注解,依赖都是对的. 最后发现是因为在test类调用service时没有加@Resource注解,加上就好了.@Autowired 调用mybatis的xml中sql语句报空指针 svn下载项目后,启动项目后发现一个奇怪的问题:登陆系统时,需要验证用户密码等信息(使用mybatis的xml里语句调用oracle数据库,会报空指针问题),检查数据库配置,sql

  • mybatis执行update批量更新时报错的解决方案

    目录 执行update批量更新时报错 在使用Mybatis批量更新时 定义Mapper Dao接口中定义 最后在service中调用 同时执行多条sql的办法 执行update失败问题 说下原因 解决办法 执行update批量更新时报错 在使用Mybatis 批量更新时 想要批量更新时通常在mapper中这么写: 定义Mapper  Dao接口中定义 最后在service中调用 生成的sql直接放到mysql中运行完全没有问题,但是mybatis执行的时候却会报错: <span style=&quo

  • 解决Mybatis中mapper.xml文件update,delete及insert返回值问题

    最近写了几个非常简单的接口(CRUD),在单元测试的时候却出了问题,报错如下: Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageListener': Unsatisfied dependency expressed through field 'reviewCheckInfoService'; nested exce

  • 解决mybatis执行SQL语句部分参数返回NULL问题

    今天在写代码的时候发现一个问题:mybatis执行sql语句的时候返回bean的部分属性为null,在数据库中执行该sql语句能够正常返回,把相关代码反反复复翻了个遍,甚至都重启eclipse了,依旧没解决问题,后来网上搜了一下,还真有类似的问题. 闲话少说,直接说问题,该sql语句是自己写的,resultType直接用了该bean全名称,最终导致部分属性显示为null, 原来的写法: <select id="selectByArticle" parametertype=&quo

  • 解决Mybatis中mapper的ID冲突问题

    mapper 的id冲突原因: 原因一: 在同一个mapper.xml中存在相同的ID 原因二: 同时使用了xml配置和注解配置 解决方案: 只保留xml或者注解即可!!! Mybatis mapper文件下同一id 查询结果列不同问题 场景描述: 订单数据按天分表,正常情况下每一天的表结构都是一样的,表名命名格式order_yyyyMMdd. 定义一个查询如下: <select id="orderSelect" parameterClass="java.util.Ha

  • 执行Django数据迁移时报 1091错误及解决方法

    问题描述 今天在Pycharm 中的Terminal下,执行数据迁移操作时,第一步: Python manage.py makemigrations ,是没有任何问题,但就是在执行真正的数据迁移时,也就是第二步:Python manage.py migrate 时,报错,错误截图如下 大概的意思就是   错误代码1091,原因是  "无法删除'dt_id':请检查列/键是否存在". 问题的解决 分析: 可能是数据库中的字段结构,已经完成了对此字段的修改,但是在执行数据迁移的时候,生成的

  • Mybatis执行update失败的解决

    Mybatis执行update失败 今天在进行分布式重构项目的时候碰到一个问题,在执行sql的时候只有update不能成功,其他语句都可以正常执行,报错如下: 版本:org.mybatis:mybatis:3.4.5 接口 @UpdateProvider(type = ManagerProvider.class, method = "updateManager") int updateManager(Manager manager) throws Exception; 报错信息 Loa

  • shade解决mybatis包冲突问题及项目引用的方法

    之前写过shade解决mybatis包冲突的文章,主要讲了如何为一个第三方包去打一个shade包,然后它可以解决相同包的不同版本之间的冲突问题:而今天主要说一下在项目里如何引用这个包. 1 如果只是使用包里的资源,而不使用这个包的依赖包,需要这样引用即可 <dependency> <groupId>com.lind</groupId> <artifactId>a-start-test-depend-shade</artifactId> <v

随机推荐