通用Mapper的介绍(及持久层发展历程)

在介绍通用Mapper之前

让我们先来了解一下持久层发展历程

持久层发展历程

1.JDBC.操作数据库最快
2.数据库链接池.

解决开关链接,导致数据库执行效率低(sql都需要手写)

3.JPA思想

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.
概括:以面向对象的方式,操作数据库.

4.Hibernate

Hiberndate将JPA思想最终实现.以后操作数据库,程序员几乎不需要写sql.统统都是面向对象的形式操作.并且实现了全自动的ORM(对象关系映射)
对象-----自动生成SQL,交给数据库. 入
数据库中的数据----------对象 出

例子:hibernate框架实现单表映射时,效率很高.如果遇到多表关联时效率低.
Sql编辑:HQL语句解决多表关联问题.实用性弱.配置文件特别复杂.(一对一/一对多/多对多)
Sql特别的冗余.效率低

5.Mybatis

实现半自动的ORM.
程序员自己编辑Sql语句,实现入库操作.
查询时,返回的数据就是封装好的对象.
效率高:自己编辑的sql效率最高
弊端:再简单的sql也需要自己手动编辑!!!

通用Mapper插件

1.介绍

通用Mapper是基于Mybatis开发的一款简化单表操作的一款插件.可以实现单表自动CURD操作.以后程序员再也不需要写简单的sql.同时实现了JPA思想.

核心:用户操作是对象!!!
2.通用Mapper实现原理

1.对象与数据库中的表一一映射.
2.对象中的属性与表中的字段一一映射.
3.定义一个公共的接口,在其中定义公共的CRUD操作.
4.通过实现类实现接口中的方法.将用户传递的对象最终转化为SQL语句.
新增案例:
insert into 表名(字段名……) values(字段值……)
删除案例:
delete from 表名 where id = 属性值 (值不为null)

3.添加jar包
	<dependency>
		<groupId>com.github.abel533</groupId>
		<artifactId>mapper</artifactId>
		<version>${mapper.version}</version>
	</dependency>
4.编辑POJO与表映射关系

在这里插入图片描述

5.添加插件
	<plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">
		<!--主键自增回写方法,默认值MYSQL,详细说明请看文档 -->
		<property name="IDENTITY" value="MYSQL" />
		<!--通用Mapper接口,多个通用接口用逗号隔开 自己定义接口路径 -->
		<property name="mappers" value="com.jd.co.mapper.SysMapper" />
	</plugin>
</plugins>
6.定义公共的接口

1.定义接口

在这里插入图片描述
2.继承接口
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值