Java——使用MyBatis-Plus遇到的问题总结

最近在练习 MyBatis-Plus 时遇到一些问题,这里进行下总结。

先上一些测试代码:

controller:

CarBusinessEntity—为实例

service:

mapper:

后通过postman/eolink 测试报错:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.woniuxy.car.mapper.CarBusinessMapper.selectList

无效的绑定语句,找不到CarBusinessMapper.selectList方法。

后续查了一些博客资料,结合官网示例,发现需要在BaseMapper接口上加上sql 映射的实例:

加上了泛型

加上泛型后测试报错改变,该问题已解决。


但是出现了新的报错:

Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'tour.car_business_entity' doesn't exist

bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'tour.car_business_entity' doesn't exist",

观察报错信息,应该是MyBatis-Plus 会自动根据实体类名来对应查找数据库的表名,实体类上可加上注解:@TableName(value ="car_business")

car_business是表名

修改后的实体类:

再次测试查询方法已成功:


测试 Mybatis-Plus 新增方法(insert)时遇到问题:

nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.woniuxy.car.entity.CarBusinessEntity' with value '1470643261222727681' Cause: java.lang.IllegalArgumentException: argument type mismatch] with root cause

java.lang.IllegalArgumentException: argument type mismatch

查询官网注解,发现需要在实体类上增加注解:@TableId(value="id",type =IdType.AUTO),指明主键id自增属性。

增加注解后测试通过:

你可能感兴趣的:(Java——使用MyBatis-Plus遇到的问题总结)