关于使用basemapper的错误,主要报错为:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.mysqlplus.jiekou1.UserbookDao.selectById
有兄弟知道这个报错怎么解决吗,网上找了一些方法都不行
prizeDao 方法头上加上@Repository 注解。
另外你方法都注释了,当然调用不到了。
另外提个建议:你可以创建controller层,然后去测试你的接口。你这种大概率会空指针。
你需要在启动类上面加个@MapperScan注解,并指定dao的包路径
【以下回答由 GPT 生成】
这个问题发生的原因是basemapper库无法找到指定的SQL语句对应的映射。这个问题可以通过以下几个步骤来解决:
@Repository
public interface UserbookDao extends BaseMapper<Userbook> {
Userbook selectById(Long id);
}
<mapper namespace="com.example.mysqlplus.jiekou1.UserbookDao">
<select id="selectById" parameterType="java.lang.Long" resultType="com.example.mysqlplus.entity.Userbook">
SELECT * FROM userbook WHERE id = #{id}
</select>
</mapper>
@Autowired
private UserbookDao userbookDao;
...
Userbook userbook = userbookDao.selectById(1L);
如果你已经按照以上步骤进行了操作,但仍然遇到报错信息,请确保: - basemapper库已经正确引入,并且库版本与你使用的MyBatis版本兼容。 - basemapper库的配置文件已经正确配置。
如果以上步骤都确认无误,但问题依然存在,请将你的代码和配置文件以及报错信息提供给开发人员进行进一步分析和排查。