MyBatis学习常见错误整理(一)
1.报错 mybatis org.apache.ibatis.binding.BindingException等异常,是由于在pom.xml文件中,maven中mybatis配置没有导入
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
2.idea连接数据库报错
`Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.`
配置文件mybatis-config.xml中配置数据库时,userSSL应该设为false。(为什么为true会报错?还在研究中)
3.测试时候,出现资源过滤问题,找不到某某某.xml文件:
是因为idea没有自动将xml文件进行转换,最好在父文件和子文件的pom.xml文件中都加入一下代码:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
4.增删改操作时候,数据库数据没有改变,是因为没有进行事务提交,在session.close();
之前加上session.commit();
5.报以下异常
`Parameter 'userid' not found. Available parameters are [arg1, arg0, param1, param2]`
原因:传入的是两个参数,mybatis传入两个参数时,是需要导包的。
错误代码:User updateUser(int id,String name);
正确写法:User updateUser(@Param("id") int id,@Param("name") String name);
还需要导入import org.apache.ibatis.annotations.Param;