mybatisPlus

	# 1.MP介绍

在mybatis上 只做增强不做改变 为提高效率而生

1.1 导包 + yml

pom

<!--MP内部已经加载了mybatis,所以无需再次添加jar包-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3</version>
        </dependency>

yml

mybatis-plus:
  #指定别名包
  type-aliases-package: com.jt.pojo
  #加载指定的xml映射文件
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true

1.2 pojo

核心:实现对象关系映射
对象与数据库中标的映射关系

  1. 对象名称与表名一一映射 @TableName(“数据库中的名”)
  2. 对象的属性与表中的字段一一映射
    2.1 @TbaleId(type = IdType.AUTO)主键自增
    2.2 @TableField(“其他属性”) 与 数据库中的一一对应 --啰嗦
    2.2.1 简便方法:语法规则:

如果数据库中的字段与表中的属性名称一致,可省略不写
哪个不一样 写哪个 @TableField(“其他属性”)

1.3 mp入门案例:用户入库操作

1.3.1 创建SpringbootSsmApplicationTests

//效果:只要@Test测试方法执行,则整个Spring容器启动,可以根据自身的需要实现依赖注入
//注意事项: 该注解只能在测试类中使用.
// 测试类的包路径必须在主启动类的同包及子包中编辑.

@SpringBootTest
class SpringbootSsmApplicationTests {

    @Autowired
    private UserMapper userMapper;
}
1.3.2 继承BaseMapper
@Mapper
public interface UserMapper  extends BaseMapper<User> {
    
}
1.3.3 测试用户入库
@SpringBootTest
class SpringbootSsmApplicationTests{
    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
    }
    /*
     * MP入门案例  */
    @Test
    public void insertUser(){
        User user = new User();
        user.setName("YY4mn").setAge(18).setSex("男").setId(null);
        userMapper.insert(user);
        System.out.println(user);
    }
}

2. mybatisPlus工作原理

2.1 分析

核心:以对象的形式操作数据库
调用步骤:
1. 用户执行userMapper.insrt(user);
2. 根据继承的关系BaseMapper.insert(user);
3. MP是如何动态生成sql,交给mybatis调用,最后实现数据操作
4. 核心问题:MP如何动态生成sql语句

2.2 原理

  1. 调用接口方法
  2. 根据接口找到父级接口BaseMapper
  3. 根据父级接口动态获取当前接口的泛型对象T(通过反射)
  4. 由T找到当前接口的指定注解@TableName(“demo_user”),之后获取表名demo_user
  5. 由T找到当前接口的指定注解@TableField注解找到类型 --> 属性 --> 字段
  6. 根据sql拼接形成最后的sql语句
  7. MP将生成的sql交给Mybatis执行入库操作

3. mybatisPlus API 介绍

在这里插入图片描述

4. 案例

4.1

4.2

4.3

4.4

4.5

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值