Cannot find class: BaseResultMap解决方法

简介: Cannot find class: BaseResultMap解决方法

我们在使用mybatics的时候,在我们的xml编写之中,偶尔会遇到Cannot find class: BaseResultMap这样的问题,但是我们都很清楚的看到了,自己确确实实的定义了这样一个BaseResultMap类,那么这究竟是什么样子的问题呢?就由我给大家带来简单而又高效的解决办法吧。

  1. 我们先来说一下解决办法吧,其实很简单,第一是你要确认我们定义了这么一个BaseResultMap,并且没有拼错以及一些语法错误,正确的方案如下图所示:
    2800a3d08efca1a3d34c96d3999079b.png
  2. 2
  3. 但是我们仍然是遇到了这么一个问题,那就是Cannot find class: BaseResultMap,这个也直接导致了我们的bean初始化失败的情况,那么具体是什么问题呢,问题其实在于我们的返回类型上面,没错,就是返回类型,xml的加载是标题式的加载,也就是即便我们还没有运行这个函数,在我们的bean加载的时候,就已经将我们的标签全部解析了。
  4. a011daacb9d2050eac9d7fd5ebe7c01.png
  5. 3b761907ce7638d29ddad5064c66a00.png
  6. 3
  7. 重点就在于我们的这个resulttype上面,type是不管用的,因为我们返回的并不是一个int或者char类型,而是返回一个map,所以我们需要把我们的resultType改成resultMap才可以,这样我们的项目就可以成功运行了,如下图:
  8. 383c5b89ab36f01c21bb64e92e1883e.png

8210c6bdf754265aa07128636253e0d.png

  1. 4
  2. 最后我们在来解释一下啊type和map的具体影响,以及他们具体的使用策略,result这个类型一般是在我们的select查询语句中会用到,resultType可以直接表示返回类型,但是resultMap不同,它是对外部ResultMap的一个引用,这里就要注意了,这个是对“外部”的引用,换句话说,就是定义在xml之外的那个实体的相关引用,而不仅仅是我们在mybatics xml里面写到的那个,如果没有外部的实体,这个返回依然不可行。
  3. d5cff80b23d9974453256d5c736a1b0.png
  4. 5
  5. 而且不要认为我们的resulttype就只能返回一个int,他也是可以返回一个类的,如下图:

    这个规则同样在我们的paramtype中也适用。

    同样,他的返回甚至也可以是一个map,mybatics会自动将其转化为一个list类型来进行传值操作

  1. 8210c6bdf754265aa07128636253e0d.png
  2. 6
  3. d83b384795b7aa35aeb76a91fc56da9.png

注意事项

  • resulttype可以返回map,但是不能返回我们在xml里面定义的resultmap
  • 多表查询最好使用resultmap进行返回,这样会更加清晰的知道这个map里面有多少参数以及他们的类型

@@@Cannot find class: BaseResultMap解决方法

目录
相关文章
|
5月前
|
SQL 安全 Java
resultMap 与 resultType、parameterMap 与 parameterType的区别
resultMap 与 resultType、parameterMap 与 parameterType的区别
79 0
|
5月前
|
SQL IDE Java
hibernate5 Cannot create TypedQuery for query with more than one return using requested result type
hibernate5 Cannot create TypedQuery for query with more than one return using requested result type
66 0
|
Java 数据库连接 mybatis
mybaits报错:The content of element type “resultMap“ must match “(constructor?,id*,result*,associati。。。
mybaits报错:The content of element type “resultMap“ must match “(constructor?,id*,result*,associati。。。
536 0
|
SQL Java 数据库连接
hibernate.exception.GenericJDBCException: could not extract ResultSet 解决办法
这句话翻译过来就是无法提取ResultSet 我在联查表的视图的时候发现的问题,明明之前好好的 那么你就得想想了 你再把错误信息往上翻翻,能不能看到 no viable alternative at input‘XXXX’ 是不是在关联表里更改了字段名视图里没改,字段名都不匹配它找个屁啊(笑)
|
5月前
|
SQL XML Java
mybatis元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id *,result*,association报错解决
mybatis元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id *,result*,association报错解决
179 0
ResultSet object has no attribute ‘text‘
ResultSet object has no attribute ‘text‘
220 0
ResultSet object has no attribute ‘text‘
|
Java Spring
default constructor not found 异常解决方法
default constructor not found 异常解决方法
2070 0
成功解决AttributeError: module 'string' has no attribute 'find'
成功解决AttributeError: module 'string' has no attribute 'find'
Caused by: 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,globa
在Struts-2.3的配置文件struts.xml中,Caused by: 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)"。
1305 0