SpringBoot学习碎片之MybatisPlus

ORM介绍

  • ORM(Object Relational Mapping, 对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术
  • ORM通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到数据库中
  • ORM框架的本质是简化编程中操作数据库的编码
    在这里插入图片描述

MyBatis-Plus介绍

  • MyBatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统
  • MyBatis能够非常轻松灵活地实现动态SQL,可以使用XML或注解来配置和映射原生信息,能够轻松地将Java的POJO(Plain Ordinary Java Object, 普通Java对象)与数据库中的表和字段进行映射关联
  • MyBatis-Plus是一个MyBatis增强工具,在MyBatis的基础上做了增强,简化了开发

添加依赖

<!--  MyBatisPlus依赖  -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.4.2</version>
<depedency>
<!--  mysql驱动依赖  -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.47</version>
<depedency>
<!--  数据连接池 druid  -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.1.20</version>
<depedency>

全局配置

  • 配置数据库相关信息
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false
    spring.datasource.username=root
    spring.datasource.password=root
    mybatis-plus.configuratuin.log-impl=org.apache.ibatis.logging.stdout.stdOutImpl
    
  • 添加@MapperScan注解
    	@SpringBootApplication
    	@MapperScan("com.xx.mapper")
    	public class MybatisplusDemoApplication{
    		public static void main(String[] args){
    			SpringApplication.run(MybatisplusDemoApplication.class, args);
    	}
    }
    

多表查询

  • 实现复杂关系映射,可以使用@Results注解、@Result注解、@One注解、@Many注解组合完成复杂关系的配置
注解说明
@Results代替<resultMap>标签,该注解可以加入单个或多个@Result注解
@Result代替<id>标签和<Result>标签,@Result中可以使用以下属性:
- column:数据表的字段名称
- property:类中对应的属性名
- one:与@One注解配合,进行一对一的映射
- many:与@Many注解配合,进行一对多的映射
@One代替<assocation>标签,用于指定查询中返回的单一对象
通过select属性指定用于多表查询的方法
使用格式:@Result(column=“”,property=“”,one=@One(select=“”))
@Many代替<collection>标签,用于指定查询中返回的集合对象
使用格式:@Result(column=“”,property=“”,many=@Many(select=“”))

分页查询

  • 编写配置文件
    	@Configuration
    	public class MyBatisPlusConfig{
    		@Bean
    		public MybatisPlusInterceptor paginationInterceptor(){
    			MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    			PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
    			interceptor.addInnerInterceptor(paginationInterceptor);
    			return interceptor;
    		}
    	}
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值