[本篇为本人多年前的笔记,现搬运到CSDN,其中可能部分代码或解释引用自网络,时间间隔太远,无法标明出处,如有雷同,敬请谅解]
导入
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
配置部分与mybatis相同
在plugins中添加插件MyBatisX,可以通过mapper中的方法定位到xml中
DAO继承BaseMapper<实体类>
public interface UserMapper extends BaseMapper<User> {
}
若遇到 @Autowired 标记的变量出现红色下划线,但是不影响正常运行。
想要查看执行的 sql 语句,可以在 yml 文件中添加配置信息,如下
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Service层
public interface UserService extends IService<User> {}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {}
常用注解
@TableName("sys_user") //定义表名
@TableId(value="id",type = IdType.AUTO) //定义字段名 主键策略
//IdType.AUTO 主键自增,系统分配,不需要手动输入
//IdType.NONE 未设置主键
//IdType.INPUT 需要自己输入 主键值。
//IdType.ASSIGN_ID 系统分配 ID,用于数值型数据(Long,对应 mysql 中 BIGINT 类型)。
//IdType.ASSIGN_UUID 系统分配 UUID,用于字符串型数据(String,对应 mysql 中 varchar(32) 类型)。
@TableField("user_pwd") //用于定义表的非主键字段
//value 用于定义非主键字段名
//exist 用于指明是否为数据表的字段, true 表示是,false 为不是。
//fill 用于指定字段填充策略(FieldFill)。
//select 是否查询此字段
填充策略
//默认不处理
DEFAULT,
//插入时填充字段
INSERT,
//更新时填充字段
UPDATE,
//插入和更新时填充字段
INSERT_UPDATE
分页
Page<User> pageInfo = new Page<>(page,pageSize);
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
lqw.orderByAsc(User::getSort);
categoryService.page(pageInfo,lqw);