mybatis和mybatis-plus同时使用时, 无法使用BaseMapper的公用方法

本文指导如何在基于mybatis的老项目中切换到mybatis-plus,重点讲解了配置SqlSessionFactory时的调整,以及如何解决使用BaseMapper时的'Invalidboundstatement(notfound)'错误。

mybatis-plus无法使用BaseMapper的公用方法

点击查看原文

需求:基于原项目进行二次开发,原项目使用的是mybaits 我这里想用mybatis-plus进行模块开发

启动时出现错误:

Invalid bound statement (not found)

原本的mybatis里面再次引入mybatis-plus之后,使用公用的BaseMapper无法使用报错:也就是无法找到sql

解决方案:只需要在你配置数据源的地方,换一个类即可:

 SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();

示例:

  @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
    {
        String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
        String mapperLocations = env.getProperty("mybatis.mapperLocations");
        String configLocation = env.getProperty("mybatis.configLocation");
        typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
        VFS.addImplClass(SpringBootVFS.class);

       // final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        MybatisSqlSessionFactoryBean sessionFactory=new MybatisSqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
        sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
        sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
        return sessionFactory.getObject();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值