使用TKMapper报错'无法获取实体类xxx对应的表名!'

标签: mybatis tkmapper
4人阅读 评论(0) 收藏 举报
分类:

使用TKMapper报错’无法获取实体类xxx对应的表名!’

项目版本:
Spring boot 1.5.9
mybatis-spring-boot-starter 1.3.0
tk.mybatis 1.1.4
由于想使用TkMapper新特性,Example.builder这种流形式的,升级了tk.mapbatis版本到1.2.4,pom依赖如下:

    <properties>
        <mybatis.tk.version>1.2.4</mybatis.tk.version>
    </properties>
    <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>${mybatis.tk.version}</version>
        </dependency>

然后随便找了个测试类测试下,如UserMapper,执行报错‘无法获取实体类User对应的表名’。检查User类,UserMapper,userMapper.xml,配置都正确。
查看TkMapper源码,发现未初始化EntityHelper类的如下代码

   public static synchronized void initEntityNameMap(Class<?> entityClass, Config config) {
        if (entityTableMap.get(entityClass) != null) {
            return;
        }
        //创建并缓存EntityTable
        EntityTable entityTable = resolve.resolveEntity(entityClass, config);
        entityTableMap.put(entityClass, entityTable);
    }

去官网看文档说明,作者写道如果启动类用@MapperScan注解,则需要使用tkmpper提供的,而不要用Spring的。
我的项目正好是在启动类中使用了@MapperScan,换成tkmapper,再启动测试类,一切OK!

查看评论

通用mapper报错 无法获取实体类XXX对应的表名!

在Example初始化时报错, 报错信息为:"无法获取实体类XXX对应的表名!" 去除  spring-boot-devtools  这个jar包就可以了 原帖: http://cache.b...
  • Mr__forget
  • Mr__forget
  • 2017-12-08 11:14:34
  • 881

tk.mybatis.mapper.MapperException 无法获取实体类xxx对应的表名

tk.mybatis.mapper.MapperException: 无法获取实体类com.act.entity.User对应的表名! at tk.mybatis.mapper.mapperh...
  • u013024120
  • u013024120
  • 2018-01-11 16:54:12
  • 970

MyBatis-处理字段名与实体类名不一致的情况 -04

一、字段名与实体类名不一致 实体类 private int id; private String orderNo; private float price; 数据库字段 order_i...
  • u012730315
  • u012730315
  • 2015-05-26 13:33:07
  • 1469

Hibernate—根据实体类得到对应的表名、主键名、字段名

import java.util.Iterator;import org.hibernate.cfg.Configuration;import org.hibernate.mapping.Column...
  • nddjava
  • nddjava
  • 2011-05-17 14:54:00
  • 3270

实体类获取不到值

enbuzApplyHome.setFuheTime(applyHomeAllInfo.getFuheTime()); 问题在于能得到值,却不能给实体类赋值,找了好长时间发现一个乌龙,在实体映射文件...
  • Aurora_sss
  • Aurora_sss
  • 2016-12-20 14:27:08
  • 339

使用Mybatis时实体类属性名和表中的字段名不一致导致结果无法映射到实体类的解决办法

开发中,实体类中的属性名和对应的表中的字段名不一定都是完全相同的,这样可能会导致用实体类接收返回的结果时导致查询到的结果无法映射到实体类的属性中,那么该如何解决这种字段名和实体类属性名不相同的冲突呢?...
  • lsq_java_4
  • lsq_java_4
  • 2017-03-07 09:31:06
  • 2729

Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(一)

在使用Hibernate时,我们有时可能需要根据实体类获得数据库表的信息,上面的那个链接的内容已经给出了模版,不过使用Hibernate4时,如果获得的PersistentClass一直为null,可...
  • zhangjk1993
  • zhangjk1993
  • 2014-10-12 19:48:58
  • 12521

Java EE 查询 将数据库中对应的表逐行转换成DAO实体类。List方式返回。自动赋值时忽略大小写的名称进行匹配,自动赋值到指定的实体类中。

  • 2017年04月14日 16:36
  • 735KB
  • 下载

Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(二)

在上一篇中,我们创建了HibernateConfigurationUtil类,可以通过它来获得实体类对应的表名、列名等相关信息,本篇我们会就借助于HibernateConfigurationUtil类...
  • zhangjk1993
  • zhangjk1993
  • 2014-10-12 22:48:08
  • 3362

springboot mybatis 实体类正常 报错找不到

项目使用spring boot 集成mybatis通用mapper插件,发现查询方法selectOne 会导致发生异常—— Java.lang.ClassCastException:com.xx...
  • q7410p123
  • q7410p123
  • 2017-06-05 15:41:03
  • 1708
    个人资料
    持之以恒
    等级:
    访问量: 4857
    积分: 162
    排名: 107万+
    最新评论