SpringBoot2整合MyBatis和mybatisPlus

目录

一、数据源-----配置数据源:(两种)

        (1)数据源的自动配置-HikariDataSource

        (2)alibaba提供的Druid数据源

二、springBoot2整合MyBatis 

第一步:在Maven中添加相关的依赖:(MybatisCodeHelperNew-2.8.9-183-204)插件可以逆向工程直接在idea中plugin中进行安装

 第二步:yml对MyBatis进行配置:相关配置在自动配置类中可以进行查看

第三步:注解开发

第四步:总结

三:SpringBoot2整合MyBatisPlus

   注意、什么是MyBatis-Plus

  第一步:添加maven依赖

第二步:配置yml文件

第三步:所有的mapper接口实现MybatisPlus 提供的BeanMapper接口

四:MyBatisPlus中的常用注解:


目录

一、数据源-----配置数据源:(两种)

        (1)数据源的自动配置-HikariDataSource

        (2)alibaba提供的Druid数据源

二、springBoot2整合MyBatis 

第一步:在Maven中添加相关的依赖:(MybatisCodeHelperNew-2.8.9-183-204)插件可以逆向工程直接在idea中plugin中进行安装

 第二步:yml对MyBatis进行配置:相关配置在自动配置类中可以进行查看

第三步:注解开发

第四步:总结

三:SpringBoot2整合MyBatisPlus

        注意、什么是MyBatis-Plus

        第一步:添加maven依赖

第二步:配置yml文件

第三步:所有的mapper接口实现MybatisPlus 提供的BeanMapper接口


一、数据源-----配置数据源:(两种)

        (1)数据源的自动配置-HikariDataSource

        添加maven依赖:(版本号由SpringBoot自动版本仲裁)hikaricp(富士山)日本提供的数据源

       <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
        </dependency>
       <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

在yml文件中进行配置

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: "jdbc:mysql://127.0.0.1:3306/2206_shop?serverTimezone=UTC"
    hikari:
      #必须填写
      driver-class-name: "com.mysql.cj.jdbc.Driver"
      username: "root"
      password: "root"
      #最大连接数
      maximum-pool-size: 10
      #最小连接数
      minimum-idle: 5
      #连接池名字
      pool-name: TestHikaricp

        (2)alibaba提供的Druid数据源

    第一步:添加maven的相关启动场景

  <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <!--mysql连接驱动,版本有springBoot版本仲裁决定-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

第二步:配置yml文件

#基于 druid 的连接池
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      url: "jdbc:mysql://127.0.0.1:3306/2206_shop?serverTimezone=UTC"
      username: "root"
      password: "root"
      #最大连接数
      max-active: 10
      #初始化连接数
      initial-size: 3
      #空闲时最小连接数
      min-idle: 5
      #添加过滤器 性能监控、防火墙、日志
      filters: "stat,wall,slf4j"
      #配置监控中心的过滤
      web-stat-filter:
        #打开过滤器
        enabled: true
        #指定过滤请求
        url-pattern: "/*"
        #排除过滤请求
        exclusions: "/druid/**"
        #监控 session 的个数
        session-stat-enable: true
      #配置监控界面
      stat-view-servlet:
        enabled: true
        #访问监控界面的路径
        url-pattern: "/druid/*"
        #一键清空,测试环境中设置为true
        reset-enable: false
        #登录用户名和密码
        login-username: "root"
        login-password: "root"
        #ip地址白名单
        allow: "127.0.0.1"
        #黑名单
        #deny:

二、springBoot2整合MyBatis 

(地址GitHub)MyBatis · GitHub

第一步:在Maven中添加相关的依赖:(MybatisCodeHelperNew-2.8.9-183-204)插件可以逆向工程直接在idea中plugin中进行安装

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

 第二步:yml对MyBatis进行配置:相关配置在自动配置类中可以进行查看

配置 private Configuration configuration; mybatis.configuration下面的所有,就是相当于改mybatis全局配置文件中的值

在配置类中进行mapper接口进行扫描或者在mapper接口上添加@Mapper注解进行注入

#MyBatis配置
mybatis:
  #注册mapper.xml文件
  mapper-locations: "classpath:/mapper/**/*"
  #配置包的别名
  type-aliases-package: "com.qf.ran.mybatis.entity"
  #加载 Mybatis 的配置文件,不建议使用
  #config-location: "classpath:mybatis-config.xml"
  configuration:
    #开启驼峰转换
    map-underscore-to-camel-case: true
    #开启二级缓存,默认为 false
    #cache-enabled: true

第三步:注解开发

(可以不用创建xml配置文件)复杂的sql建议使用xml文件进行开发

@Mapper
public interface CityMapper {

    @Select("select * from city where id=#{id}")
    public City getById(Long id);

    public void insert(City city);

}

第四步:总结

最佳实战:

  • 引入mybatis-starter
  • 配置application.yaml中,指定mapper-location位置即可
  • 编写Mapper接口并标注@Mapper注解
  • 简单方法直接注解方式
  • 复杂方法编写mapper.xml进行绑定映射
  • @MapperScan("com.atguigu.admin.mapper") 简化,其他的接口就可以不用标注@Mapper注解

三:SpringBoot2整合MyBatisPlus

   注意、什么是MyBatis-Plus

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

mybatis plus 官网

建议安装 MybatisX 插件

  第一步:添加maven依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.12</version>
        </dependency>
       <-- <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>

第二步:配置yml文件

#MyBatis plus 配置
mybatis-plus:
  #classpath代表的是根目录,如果xml文件的父目录mapper不是在根目录下,需要该成 classpath*
  #mapper-locations: "classpath*:mapper/**/*.xml"

  #mybatis plus 配置
  global-config:
    db-config:
      #全局的表都会添加前缀
      #需要类中的注解开启 @TableName(keepGlobalPrefix = true)
      #table-prefix: "u_"
      #全局逻辑删除,需要命名规范
      logic-delete-field: "is_delete"
      logic-delete-value: "0"
      logic-not-delete-value: "1"
      #全局雪花算法
      #当服务器重启的时候,会出现一秒的校验时间的过程(时钟回拨),这一秒可能会出现重复的id
      id-type: assign_id

第三步:所有的mapper接口实现MybatisPlus 提供的BeanMapper接口

自动配置

  • MybatisPlusAutoConfiguration 配置类,MybatisPlusProperties 配置项绑定。mybatis-plus:xxx 就是对mybatis-plus的定制
  • SqlSessionFactory 自动配置好。底层是容器中默认的数据源
  • mapperLocations 自动配置好的。有默认值。classpath*:/mapper/**/*.xml;任意包的类路径下的所有mapper文件夹下任意路径下的所有xml都是sql映射文件。 建议以后sql映射文件,放在 mapper下
  • 容器中也自动配置好了 SqlSessionTemplate
  • @Mapper 标注的接口也会被自动扫描;建议直接 @MapperScan("com.atguigu.admin.mapper") 批量扫描就行

优点:MyBatisPlus提供了单表的增删改查 只需要实现BeanMapper<T>就扣就行

四:MyBatisPlus中的常用注解:

        (见MyBatisPlus专栏)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot整合MyBatis(Mybatis-Plus)和Swagger的步骤如下: 1. 首先,确保已经创建了一个Spring Boot项目。可以使用Spring Initializr或者手动创建。 2. 在项目的pom.xml文件中,添加MyBatisMybatis-Plus的依赖。例如: ```xml <dependencies> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- Mybatis-Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <!-- 其他依赖... --> </dependencies> ``` 3. 创建一个数据库表,并在application.properties/application.yml文件中配置数据库连接信息。 4. 创建MyBatis的Mapper接口和对应的XML文件,定义SQL语句和对应的映射关系。 5. 创建一个实体类,用于映射数据库表的字段。 6. 创建一个Service类,使用@Serive注解标识,并在类中注入Mapper接口,并实现相应的业务逻辑。 7. 创建一个Controller类,使用@RestController注解标识,并使用@Autowired注入Service类,在方法中实现相应的接口。 8. 在启动类上使用@EnableSwagger2注解开启Swagger的支持。 9. 运行项目,访问Swagger UI页面(http://localhost:8080/swagger-ui.html),可以查看和测试API接口。 以上就是Spring Boot整合MyBatis(Mybatis-Plus)和Swagger的基本步骤。根据实际需求,可以进一步配置和扩展。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值