ruoyi-cloud集成mybatis-plus报错Unknown column ‘search_value‘ in ‘field list‘

项目场景:

项目场景:
ruoyi-cloud进行Mybatis转换Mybatis-plus,执行QueryWrapper方法,一直提醒报错 Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘search_value’ in ‘field list’
但是对应实体类没有查找到这个字段,经过一番努力,在一篇文章里找到了答案,最后问题得到了解决!


问题描述:

问题截图:

在这里插入图片描述

原因分析:

因为数据库没有这个字段,而ruoyi-cloud集成了BaseEntity,里面包含这个报错字段。

解决方案:

对应实体类添加注解 @TableField(exist = false)

在这里插入图片描述

### RuoYi-Cloud 集成 MyBatis-Plus 示例教程 #### 1. 添加依赖项 为了在 `RuoYi-Cloud` 中集成 `MyBatis-Plus`,首先需要修改项目的 `pom.xml` 文件,在其中添加必要的依赖项。 ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> ``` 此操作确保了项目能够使用 `MyBatis-Plus` 提供的功能[^1]。 #### 2. 数据库配置 编辑 `application.yml` 或者 `application.properties` 文件来设置数据库连接参数: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver ``` 这些配置使得应用程序可以正确地连接到 MySQL 数据库并执行 SQL 查询。 #### 3. 创建实体类 创建一个简单的 Java 类作为数据表对应的实体对象。假设有一个名为 `User` 的表格,则相应的实体类如下所示: ```java import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @TableName("sys_user") public class User { @TableField(value = "id", exist = true) private Long id; @TableField(value = "username", exist = true) private String username; // Getters and Setters... } ``` 这段代码定义了一个映射至 `sys_user` 表格的 POJO (Plain Old Java Object),用于表示用户的记录。 #### 4. 编写 Mapper 接口 接下来编写一个继承自 `BaseMapper<T>` 的接口,这里 T 是之前定义好的实体类型: ```java import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface UserMapper extends BaseMapper<User> {} ``` 这一步骤建立了与数据库交互的基础方法集,允许开发者轻松完成 CRUD 操作而无需手写复杂的 SQL 语句。 #### 5. 使用 Service 层封装业务逻辑 通常情况下会再加一层服务层(Service Layer) 来处理具体的业务需求。比如查询某个特定条件下的用户列表: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> getUsersByUsername(String keyword){ QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("username",keyword); return userMapper.selectList(queryWrapper); } } ``` 上述例子展示了如何通过组合 `QueryWrapper` 和 `selectList()` 方法快速构建动态查询条件,并返回满足要求的结果集合。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小心仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值