当前使用版本(必须填写清楚,否则不予处理)

mybatis-plus-boot-starter 3.1.2

该问题是怎么引起的?

直接用Mapper就可以正常操作用的mybatis-plus增强方法就可以了,

重现步骤

IQrtzExceptionDao extends IService

@Autowired private IQrtzExceptionDao iQrtzExceptionDao;

iQrtzExceptionDao.save(qe);

报错信息

出现 Invalid bound statement (not found) 异常

想问下MybatisSqlSessionFactory怎配置使用,springboot框架的 要在application.ymlj里配置,还是那里配置MybatisSqlSessionFactory并可以注入MybatisSqlSessionFactory ,因为在官网有就问题,就是最后没说明怎配置解决这问题

Comment From: yuxiaobin

https://github.com/baomidou/mybatis-plus-samples 这里已经有很多例子了 去掉原生mybatis的配置,引入mp-boot-starter, 参考samples里的项目配置一下

Comment From: lyq628

public Resource[] resolveMapperLocations(String[] mapperLocations)
{
    ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
    List<Resource> resources = new ArrayList<Resource>();
    if (mapperLocations != null)
    {
        for (String mapperLocation : mapperLocations)
        {
            try
            {
                Resource[] mappers = resourceResolver.getResources(mapperLocation);
                resources.addAll(Arrays.asList(mappers));
            }
            catch (IOException e)
            {
                // ignore
            }
        }
    }
    return resources.toArray(new Resource[resources.size()]);
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
{
    String typeAliasesPackage = env.getProperty("mybatis-plus.typeAliasesPackage");
    String mapperLocations = env.getProperty("mybatis-plus.mapperLocations");
    String configLocation = env.getProperty("mybatis-plus.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();
}