解决mybatis resultMap根据type找不到对应的包问题

mybatis resultMap根据type找不到对应的包

解决mybatis resultMap根据type找不到对应的包问题_第1张图片

mybatis resultMap根据type找不到对应的包

当将包名替换为全路径名时,程序又正常运行

解决mybatis resultMap根据type找不到对应的包问题_第2张图片

这里需要配置typeAliasesPackage 自动配置别名

以下是项目中原有的别名扫描,但是我新建的mapper文件夹不在此路径下,没有别名设置所以报错。

解决mybatis resultMap根据type找不到对应的包问题_第3张图片

typeAliasesPackage定义多个时,用逗号分隔

解决mybatis resultMap根据type找不到对应的包问题_第4张图片

加上配置后别名启用成功,程序正常运行

解决mybatis resultMap根据type找不到对应的包问题_第5张图片

resultmap和resulttype的一些使用误区

mybatis的映射配置文件中的两个返回值类型resultmap和resulttype;

直接来测试代码

这是正确的,resulttype在这里是类的全类名,这样执行没有任何问题;

结果就是我们想要的。

接下来我们来定义一个

  
      
      
     
   

然后我们修改一下上面的配置

我们把resulttype改成resultmap然后取了中的id;运行结果也是正常的;跟上面打印的是一样的;

接下来看一下他们之间的不同点

解决mybatis resultMap根据type找不到对应的包问题_第6张图片

当看到这种错误的时候,就说明用的resulttype指定到中的id上去了;

  

想让上面的配置起作用该怎么改?那就是使用别名:在mybatis-config.xml中加入


	

这里的alias就是resulttype的值;以上只是我们书写时容易注意不到的部分。

注意:mybatis返回的类型:那一定是map类型了,就是键值对的形式返回数据;但是我们使用resulttype时,会把map中的值取出来赋值给对象的属性。

好了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(解决mybatis resultMap根据type找不到对应的包问题)