eclipse开发SSM项目已经使用mybatis当升级mybatis-plus时,结果不能共存

自己的userMapper类继承了BaseMapper,自己写在userMapper中的查询语句都可以正常得到查询结果,但是引用其父类BaseMapper即mybatis-plus封装好的方法如selectList方法,就会报错:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 
com.zsw.four.biz.vehicle.mapper.VehicleMapper.selectList.........

经过坚持不懈的努力打BUG,这个问题其实是数据库表跟实体类无法映射的原因。类名,字段名。大小写问题。
mybatis-plus在2.3版本以后,dbColumnUnderline 默认值就是true 驼峰命名
我的实体类命名使用的数据库真实列明。

public class Admin{
  
    private Integer adminId;
    
    private String adminName;
 
    private String sex;

    private Integer age;

当开启驼峰命名是,执行BaseMapper方法,会去数据库找admin_name这个时候是找不到的。还有就是表名,主键最好显示的标识出来

 */
@TableName("admin")
public class Admin{
    /**
     * 管理员id
     */
	@TableId("adminId")
    private Integer adminId;

    /**
     * 管理员名称
     */
	//@TableField(value="adminName")
    private String adminName;

在将驼峰命名关闭

		
	
		
		
		
		
		

	

至此项目能够正常运行,既能使用mybatis自定义的接口映射的mapper.xml方法,也能使用mybatispul接口继承BaseMapper的方法。当然,创建数据库,列明使用下划线的形式创建的字段(user_name)就不需要修改驼峰命名为false.

你可能感兴趣的:(tomcat,Maven,mybatisPuls)