mybaits plus Invalid bound statement (not found) 异常

错误说明:巨坑,集成阿里的druid后,因使用了 SqlSessionFactoryBean导致mybatis自带的方法一直无法执行,报错 Invalid bound statement (not found) 异常;

解决方法:根据官方提供的解决方案将 SqlSessionFactoryBean 改为 MybatisSqlSessionFactoryBean 即可。

大功告成!!!代码如下:

 @Bean
    public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
//SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        bean.setMapperLocations(resolver.getResources("classpath:/com/aj/dao/*.*"));
        return bean;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ound) 是什么意思? 这个错误通常是因为 MyBatis Plus 找不到对应的 SQL 语句,可能是 SQL 语句的命名不正确或者没有在 MyBatis Plus 的配置文件中正确配置。需要检查 SQL 语句的命名是否正确,以及在 MyBatis Plus 的配置文件中是否正确配置了对应的 SQL 语句。 ### 回答2: Mybatis-Plus是Mybatis的增强工具,在使用过程中我们经常会遇到报错,比如invalid bound statement (not found)。这个错误一般是指Mapper XML文件中对应的SQL语句ID没有找到。常见的原因是: 1. Mapper XML文件中对应的SQL语句ID写错了。 2. Mapper XML文件没有被扫描到。 3. Mapper XML文件中的命名空间写错了。 解决方法: 1. 检查Mapper XML文件中对应的SQL语句ID是否正确,或者直接使用@Select等注解方式代替XML配置。 2. 在Mybatis-Plus配置文件中添加mapper-locations属性指定Mapper XML文件的路径。 3. 在Mapper XML文件中正确配置命名空间。 总之,正确配置Mapper XML文件中的SQL语句ID以及命名空间是解决invalid bound statement (not found)报错的基本方法。如果还有其他问题可以查看Mybatis-Plus官方文档或者在开源社区中提问。 ### 回答3: MyBatisPlus是一个开源的MyBatis框架的扩展工具库,它在MyBatis的基础上提供了更加便捷的SQL操作方式和更加强大的功能,包括自动生成代码、分页查询、逻辑删除等。但是在使用过程中,有些用户可能会遇到"invalid bound statement (not found)"报错的问题。 这个错误是由于在使用MyBatisPlus时,Mapper文件中的select语句没有正确的设置resultMap或类型别名导致的。通常而言,MyBatisPlus提供了基于注解和基于xml两种方式的SQL操作方式,不同的操作方式对应的配置方式也不同。下面我们将详细介绍两种方式的配置方式: 1. 基于注解的操作方式 基于注解的操作方式相较而言更加简单,只需要在Mapper接口中添加@Mapper注解即可。示例如下: ``` @Mapper public interface UserMapper extends BaseMapper<User>{ List<UserVO> listUser(); } ``` 需要注意的是,定义select语句时需要指定返回类型,以防止出现"invalid bound statement (not found)"报错的情况。 2. 基于xml的操作方式 基于xml的配置方式需要在Mapper.xml文件中进行,同样也需要注意在定义select语句时指定返回类型,否则也会出现"invalid bound statement (not found)"的报错。示例如下: ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.mapper.UserMapper"> <!-- 定义返回类型 --> <resultMap id="userResultMap" type="com.example.model.User"> <id column="id" property="id" /> <result column="name" property="name" /> <result column="age" property="age" /> </resultMap> <!-- 定义select语句 --> <select id="listUser" resultMap="userResultMap"> select id,name,age from user; </select> </mapper> ``` 总之,如果在使用MyBatisPlus时出现了"invalid bound statement (not found)"的报错,需要重点检查Mapper文件中是否正确设置返回类型,以避免出现语法错误或类型不匹配的问题,从而让MyBatisPlus正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值