配置文件应该是这样
而不是这样
应该放在相应路径下,注意缩进,不然不能正确配置数据源。
在 Java 中,实体类(Entity Class)通常用于表示数据库中的表结构,是一种数据载体,也可用于封装业务数据。以下从实体类的定义、特点、编写示例、注意事项几个方面详细介绍:
定义和特点
- 定义:实体类是一种普通的 Java 类,它主要包含属性(成员变量)、构造方法和访问器方法(getter 和 setter),有时还会包含一些其他的方法,如
toString()
、equals()
和hashCode()
等。 - 特点
- 属性与数据库表字段对应:通常每个属性对应数据库表中的一个字段,用于存储从数据库中查询到的数据或要插入到数据库中的数据。
- 封装性:通过将属性设置为私有(private),并提供公共的访问器方法(getter 和 setter),实现对属性的封装,保证数据的安全性和一致性。
- 可序列化:为了在网络传输或持久化存储时使用,实体类通常实现
java.io.Serializable
接口。
QueryWrapper
是 MyBatis-Plus 框架提供的一个用于构建 SQL 查询条件的实用工具类,它可以帮助开发者以面向对象的方式来动态构建 SQL 查询语句,而无需手动拼接复杂的 SQL 字符串,从而提高开发效率,减少出错的可能性。以下为你详细介绍:
主要功能
- 条件构造:可以方便地添加各种查询条件,如等于、不等于、大于、小于、模糊查询等。
- 排序:支持对查询结果进行排序。
- 分页:结合分页插件可以实现分页查询。
- 逻辑删除:自动处理逻辑删除字段。
使用步骤
1. 添加依赖
如果你使用 Maven 项目,需要在 pom.xml
中添加 MyBatis-Plus 的依赖:
收起
xml
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>最新版本号</version>
</dependency>
2. 创建 QueryWrapper 对象
收起
java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 假设我们有一个 User 实体类
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
3. 添加查询条件
以下是一些常见的查询条件示例:
收起
java
// 1. 等于条件
queryWrapper.eq("username", "john");// 2. 大于条件
queryWrapper.gt("age", 18); // 3. 模糊查询
queryWrapper.like("email", "@example.com"); // 4. 多个条件组合
queryWrapper.eq("status", 1).like("phone", "123");
4. 排序
收起
java
// 升序排序
queryWrapper.orderByAsc("create_time");// 降序排序
queryWrapper.orderByDesc("update_time");
5. 执行查询
收起
java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public List<User> getUsers() {QueryWrapper<User> queryWrapper = Wrappers.query();queryWrapper.eq("status", 1).like("phone", "123");queryWrapper.orderByAsc("create_time");return userMapper.selectList(queryWrapper);}
}
注意事项
- 字段名:
QueryWrapper
中使用的字段名是数据库表中的字段名,而不是实体类的属性名。如果实体类属性名和数据库字段名不一致,需要使用@TableField
注解进行映射。 - 性能问题:在使用复杂的查询条件时,要注意性能问题,避免产生不必要的全表扫描。可以通过添加合适的索引来优化查询性能。