概述MyBatis-Plus

MyBatis-Plus 简称 MP 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生
官方文档: https://baomidou.com/

Hello MP

添加依赖
<!-- 如果没有整合SpringBoot,则需要引入这个依赖,通过注解进行开发,并手工添加所需要的配置
-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.3.1</version>
</dependency>
使用 MP 可以有对应的映射文件,也可以没有映射文件
  • 如果需要对sql语句进行优化,则可以添加映射元文件;如果没有需要sql语句优化,则省略 mapper.xml文件
  1. MyBatis 的基础上只做增强不做改变。过去MyBatis的用法在MP中仍旧有效
  • 具体执行的sql语句可以由MP生成
定义实体类
  • @TableName添加在实体类上,用于标识实体类所对应的表名注解,标识实体类对应的表
  • @TableId是主键注解,用于在属性上标识对应的注解
  1. value用于指定对应的主键字段名,如果不指定,则和属性名称一致
  2. typeIdType枚举类型,用于指定主键生成策略
  • AUTO数据库ID自增
  • NONE意思是无状态,该类型为未设置主键类型。注解里等于跟随全局,全局里约等于
  • INPUT
  • INPUT是在执行insert操作之前自行 set 主键值
  • ASSIGN_ID采用雪花算法生成主键值,应该是string类型
  • ASSIGN_UUID采用UUID生成字符串值充当主键
  1. 不建议使用的三种算法:ID_WORKER分布式全局唯一 ID 长整型类型、UUID32UUID符串、ID_WORKER_STR是分布式全局唯一 ID 字符串类型
  • @TableField属性上的针对字段的注解,用于非主键类型的属性
  • value用于定义当前属性对应的数据库字段名
  • exist标识该属性是否为数据库表字段,因为如果不加配置则默认属性都是有同名的对应字段
  • jdbcType用于声明对应的JDBC 类型,该默认值不代表会按照该值生效
  • numericScale用于指定小数点后保留的位数
@Data
@TableName("tb_users")
public class User implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
@TableField(exist = false)
private String repassword;
private String email;
}
添加 mapper 接口,注意使用 MP mapper.xml 可有可无
  • MP提供了一个父接口BaseMapper,其中包含了常见的CRUD的方法
public interface UserMapper extends BaseMapper<User> {
}

 使用自动扫描进行mapper接口的注册,在主类上添加自动扫描注解即可

@MapperScan("com.yan.dao")
@SpringBootApplication
public class DemoApplication
MP 针对业务层提供了 IService 接口,和对应的实现类 ServiceImpl ,在具体开发中可以通过继承 IService接口来定义业务接口
public interface IUserServ extends IService<User> {
}
定义业务实现类
@Transactional(readOnly = true,propagation = Propagation.SUPPORTS)
@Service
public class UserServImpl extends ServiceImpl<UserMapper, User> implements
IUserServ {
}
在控制台上打印输入所执行的 sql 语句
mybatis-plus.configuration.logimpl=org.apache.ibatis.logging.stdout.StdOutImpl

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值