日志提示
org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
### The error may exist in com/bjpowernode/mapper/UsersMapper.xml
### The error may involve com.bjpowernode.mapper.UsersMapper.delete
### The error occurred while executing an update
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
解析:
出现这个org.apache.ibatis.exceptions.PersistenceException问题大多数都是找不到映射文件,这和没有遵循mybatis的mapper代理配置规范有关
mapper代理规范(以UserMapper为例):
1)UserMapper.xml文件与UserMapper.java的接口必须在同一个目录下
2)UserMapper.xml文件与UserMapper.java的接口文件名必须一致,后缀不管
3)UserMapper.xml文件中标签的id与UserMapper.java的接口中方法的名称完全一致
4)UserMapper.xml文件中标签的parameteType与UserMapper.java的接口中方法的参数类型完全一致
5)UserMapper.xml文件中标签的resultType与UserMapper.java的接口中方法的返回值完全一致
6)UserMapper.xml文件中namespace属性必须是接口的完全限定名称(com.xxx.mapper.UserMapper)
7)在SqlMapConfig.xml文件中注册mapper文件时,使用class=接口的完全限定名称com.xxx.mapper.UserMapper
题主解决方案:
观察一下pom.xml文件中mysql-connecter-java依赖是否与本机上mysql相对应
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>