用mybatis进行对数据库的插入操作时出现了以下报错:
原因是数据库映射的xml文件中sql语句的参数名称没有和实体类中的参数名称保持一致。
上面这两个名称应一致,于是我将数据库映射文件稍作修改:
这样即可运行出结果。
这也让我对开启驼峰命名自动映射有了更深入的了解,因为我在配置文件中已经开起了驼峰命名自动映射:
还是报错的原因就是,我之前对它的误解,驼峰命名自动映射指的是,从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。
比如查询的时候:如果我没有开启驼峰命名自动映射,这个userName就会为空:
因为数据库中的属性名是user_name:
而实体类中的属性名userName:
而在如下这个查询语句中:
在数据库中凭id查出来的user_name无法给实体类中userName赋值,所以查询结果中的userName为空。为了避免这种情况,我们开启驼峰命名自动映射。