mplus

 

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

  1. 对象名称与表名一一映射.
  2. 对象的属性与表中的字段一一映射.

 MybatisPlus工作原理
.1 MP核心
核心: 以对象的方式操作数据库
Mybatis操作的实质: Sql
调用步骤:
1. 用户执行userMapper.insert(user);
2. 根据继承的关系 BaseMapper.insert(user).
3. MP在内部生成Sql之后交给Mybatis调用最终实现数据操作.

.2 MP动态生成Sql的基础
核心问题: MP是如何动态的生成Sql语句?
例子:
Sql1: insert into user(字段名…) value (属性的值…)
Sql2: insert into dept(字段名…) value (属性的值…)
变化的: 表名–字段名称—属性的值

 MP动态Sql实现原理

1. 用户调用接口方法 userMapper.insert(User)方法
2. 根据UserMapper的接口找到父级接口BaseMapper<T>
3. 根据父级接口动态获取当前接口的泛型对象T
4. 根据泛型T 获取指定的注解@TableName("demo_user"),之后获取表名demo_user
5. 根据泛型对象T,获取其中的属性,之后再找到属性的注解@TableField("id"),之后再次获取注解的值, 即字段名称.
6. 根据字段名称,获取对应属性的值.
7. 根据Sql拼接 形成最终的可以执行的Sql.
8. MP将生成的Sql交给Mybatis执行入库操作.
 

 

 

 注解总结
全局异常处理机制
1.@RestControllerAdvice 标识全局异常处理的
2.@ExceptionHandler({RuntimeException.class}) 拦截指定的异常类型
事务控制注解
@Transactional 控制事务 更新操作
MP映射注解
1.@TableName(“demo_user”) //对象与表名映射
2.@TableId(type = IdType.AUTO) //主键自增
3.@TableField(“age”) //实现属性与字段映射
测试类注解
@SpringBootTest 可以引入注入spring容器中的对象之后进行单元测试
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值