BUZHIDAO52 2024-02-23 09:32 采纳率: 66.7%
浏览 112
已结题

querymapper构建出的查询条件正常,但是使用LambdaQueryWrapper构建出的查询条件异常问题

开发遇到mybatis-plus一个比较诡异的问题
版本声明:JDK17,springboot2.5.0,mybatis-plus依赖版本3.4.3

在搭建好mybatis-plus的环境之后进行测试,发现使用querymapper构建出的查询条件正常,但是使用LambdaQueryWrapper构建出的查询条件运行后报错(数据库连接正常,数据库字段名正常,实体类也实现了get与set方法)

正常的:

@Test
    public void testUserMapper(){
        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
        userQueryWrapper.eq("user_name","123");
        User user = userMapper.selectOne(userQueryWrapper);
        System.out.println(user);
    }

报错的:

@Test
    public void testUserMapper(){
       LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(User::getUserName,"123");
      User user = userMapper.selectOne(wrapper );
        System.out.println(user);
    }

报错信息为


org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew.sqlSegment != null and ew.sqlSegment != '' and ew.nonEmptyOfWhere'. Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment [java.lang.ExceptionInInitializerError]

烦请各位指正,谢谢

  • 写回答

2条回答 默认 最新

  • leon_shih 2024-03-14 09:23
    关注

    mapper.xml映射没有得到传入的参数,看一下mapper方法的参数是不是少了@Param注解。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月9日
  • 已采纳回答 8月1日
  • 创建了问题 2月23日