TypeException: Could not set parameters for mapping: ParameterMapping问题的可能解决方案

该类问题主要是mybatis字段默认不能为空,如果为空就会抛出异常。我在写项目的过程中·遇到过此问题,以下是一些可能的解决方案。

方案一

如果你在后端使用Map接收前端的数据(form表单),那么不要忘记加上@RequestParam注解,否则接收不到前端数据,则为空。就会报错。

//    注意要加注解@RequestParam,不然不能将前端的数据传过来
    public String updateTest(@RequestParam Map test) throws Exception

方案二

如果数据库(oracle)中的字段可以为空,可以在启动类中添加如下代码:

    @Bean
    public ConfigurationCustomizer configurationCustomizer() {
        return new MybatisPlusCustomizers();
    }

    class MybatisPlusCustomizers implements ConfigurationCustomizer {
        @Override
        public void customize(org.apache.ibatis.session.Configuration configuration) {
            configuration.setJdbcTypeForNull(JdbcType.NULL);
        }
    }

方案三

还有一种办法,在mapper的xml文件中的sql语句中添加jdbcType用于声明需要接受的数据。可以搜索mybatis和数据库对应数据类型了解下。

你可能感兴趣的:(TypeException: Could not set parameters for mapping: ParameterMapping问题的可能解决方案)