mybatis plus

mybatis plus概述
  • 是对Mybatis框架的二次封装和扩展
  • 纯正血统:完全继承原生 Mybatis 的所有特性
  • 最少依赖:仅仅依赖Mybatis以及Mybatis-Spring
  • 性能损耗小:启动即会自动注入基本CURD ,性能无损耗,直接面向对象操作
  • 自动热加载:Mapper对应的xml可以热加载,大大减少重启Web服务器时间,提升开发效率
  • 性能分析:自带Sql性能分析插件,开发测试时,能有效解决慢查询
  • 全局拦截:提供全表delete、update操作智能分析阻断
  • 避免Sql注入:内置Sql注入内容剥离器,预防Sql注入攻击

使用方法

  1. 导入依赖
<!-- mybatis-plus begin -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatisplus-spring-boot-starter</artifactId>
            <version>${mybatisplus-spring-boot-starter.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>${mybatisplus.version}</version>
        </dependency>
        <!-- mybatis-plus end -->
  1. 在配置文件application.yml中添加相关配置
# Mybatis-Plus 配置
mybatis-plus:
#  mapper-locations: classpath:/mapper/*Mapper.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.tensquare.article.pojo
  global-config:
    id-type: 1  #0:数据库ID自增   1:用户输入id
    db-column-underline: false
    refresh-mapper: true
    configuration:
      map-underscore-to-camel-case: true
      cache-enabled: true #配置的缓存的全局开关
      lazyLoadingEnabled: true #延时加载的开关
      multipleResultSetsEnabled: true #开启延时加载,否则按需加载属性
      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
  1. 修改启动类,增加Mapper扫描注解
@SpringBootApplication
//Mapper扫描注解
@MapperScan("com...dao")
public class ArticleApplication {
    public static void main(String[] args) {
        SpringApplication.run(ArticleApplication.class, args);
    }

    @Bean
    public IdWorker idWorker() {
        return new IdWorker(1, 1);
    }
}
  1. dao继承
extends BaseMapper<实体类>
跨域处理
  1. 何谓跨域
    浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。
  2. 如何解决跨域
    只需要在controller类上添加注解 @CrossOrigin 即可!
分布式ID生成器(idWork)

new IdWorker(0,0); 最大集群1024
如果生产环境为分片部署的,不能使用数据库本身的自增功能来产生主键值。
使用snowflake (雪花)算法(twitter出品)生成唯一的主键值
41bit的时间戳可以支持该算法使用到2082年, 10bit的工作机器id可以支持1024台机器 ,序列号支持1毫秒产生4096个自增序列id,

  • 41bit的时间戳可以支持该算法使用到2082年
  • 10bit的工作机器id可以支持1024台机器
  • 序列号支持1毫秒产生4096个自增序列id
  • 整体上按照时间自增排序
  • 整个分布式系统内不会产生ID碰撞
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值