ibatis.io.ResolverUtil - Reader entry 乱码的解决办法

问题描述

最近想将sprintboot 2.16提升到2.2.6,发现控制台会有ibatis.io.ResolverUtil - Reader entry 乱码情况。

10:33:53.696 [main] DEBUG org.apache.ibatis.io.ResolverUtil - Not a JAR: file:/D:/Java/IdeaProjects/shiyanlou_ssm_test/target/classes/com/ssm/mapper/UserMapper.class
10:33:53.698 [main] DEBUG org.apache.ibatis.io.ResolverUtil - Reader entry: ����   1    selectLogin *(Lcom/ssm/model/User;)Lcom/ssm/model/User; 
10:33:53.731 [main] DEBUG org.apache.ibatis.io.ResolverUtil - Checking to see if class com.ssm.mapper.UserMapper matches criteria [is assignable to Object]
10:33:53.754 [main] DEBUG o.m.spring.SqlSessionFactoryBean - Parsed configuration file: 'class path resource [mybatis-config.xml]'
10:33:53.756 [main] DEBUG o.m.spring.SqlSessionFactoryBean - Property 'mapperLocations' was not specified or no matching resources found

原因是有说日志配置问题,有说版本漏洞,旧版本等。有人也找到了源码的错误地方,是DefaultVFS的InputStreamReader没有传第二个参数导致。:


            is = url.openStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            List<String> lines = new ArrayList<String>();
            for (String line; (line = reader.readLine()) != null;) {
              if (log.isDebugEnabled()) {
                log.debug("Reader entry: " + line);
              }
              lines.add(line);
              if (getResources(path + "/" + line).isEmpty()) {
                lines.clear();
                break;
              }
            }

mybatis*中DefaultVFS的logger乱码问题:https://www.cnblogs.com/ptqueen/p/7275293.html

解决办法

好多文章只给出修改配置,没告诉实质性的办法,那么请参考下面的第二点。

1、spring-mybatis.xml的配置文件,注释掉typeAliasesPackage的配置

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	......
		<property name="typeAliasesPackage" value="com.company.project.model" /> 
		......
	</bean>

如果配置的是mybatis配置文件,就需要去掉typeAliases

<typeAliases>
     ...... 
</typeAliases>	

    或者,如果是代码创建SqlSessionFactory的话,注释掉:

    //sqlSessionFactoryBean.setTypeAliasesPackage("com.company.project.model");

2、各个dao或者mapper的映射文件*mapper.xml文件中,引用实体类的地方加上路径,比如Book改成com.*.*.Book
修改前:

<select id="queryById" resultType="Book" parameterType="long">
		......
	</select>

修改后:

<select id="queryById" resultType="com.company.project.model.Book" parameterType="long">
		......
	</select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值