目录
一、java: 程序包org.junit.jupiter.api不存在
二、Cannot resolve com.mysql:mysql-connector-j:unknown
三、Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework
四、org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.imooc.pay.dao.UserMapper.countByUsername
五、Error updating database. Cause: java.sql.SQLException: Field 'create_time' doesn't have a default value
一、java: 程序包org.junit.jupiter.api不存在
报错:运行@Test时,报错java:程序包org.junit不存在。
问题分析:缺少org.junit.jupiter.api相关的依赖
解决方法:
(1)点击File--->Project Structure--->modules--->点击右上方的 + 号 ,进入JARs or directories
打开自己在本地的IDEA安装位置,进入lib目录,junit-4.12.jar文件(注意这里的路径是自己IDEA的安装路径),勾点击ok。
发现还是不行。
(2)然后我尝试根据提示信息添加自动添加依赖
再次运行试一下,发现可以了。
二、Cannot resolve com.mysql:mysql-connector-j:unknown
报错:建立springboot项目遇到:Cannot resolve com.mysql:mysql-connector-java:unknown报错,在pom.xml中配置爆红。
解决方法:手动引入高于 8.0.29 版本的 mysql-connector-j
即可解决。
三、Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework
报错:
原因:mapper.xml被Maven给拦截了,导致加载不上,从而无法实例化sqlSessionFactory。
解决方法:这个mapper.xml文件写的有问题,检查一下。
四、org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.imooc.pay.dao.UserMapper.countByUsername
原因:mybatis的绑定异常,没有找到相关的语句。
解决方法:
- 检查 xml 文件的 namespace 是否和 dao 接口的包名称对应
- 检查 xml 文件里面的 id 是否和 dao 接口的方法名是否一致
然后,发现我这个第地方写错了。
五、Error updating database. Cause: java.sql.SQLException: Field 'create_time' doesn't have a default value
报错:
原因:数据库中该字段设置了非空,然而操作时却没有赋值。
解决方法:要么修改代码,要么修改数据库表设计,对应数据库表中给它设置默认值就好。
此处我是通过navicat premium打开的mysql数据库,打开表设计,
再次运行不报错。
插入成功。