springboot加强+mybatis整合(2020-8-28)

1、项目发布问题

1.1、项目打包

概述:如果项目需要发布则需要将项目打包处理,打完包之后,还在target目录中动态生成jar/war包,以及本地仓库中也会有包
问题:本地仓库有啥用?是为了将来能被其他项目依赖,因为项目将来会有多个并且极其复杂。
clean:作用是删除target目录
install:打包目录,分别在本项目target和本地仓库生成jar包
package:仅仅在本项目的target目录下生成jar包
在这里插入图片描述

1.2、项目发布

在这里插入图片描述

2、springboot加强

2.1、热部署

导包
在这里插入图片描述
开启自动编译
在这里插入图片描述
设置每隔多少秒数检测代码
在这里插入图片描述

2.2、环境切换

业务场景

一般开发使用的都是测试场景,当项目发布时需要在生产环境下部署项目
问题:在测试环境中的配置与生产环境中的配置可能不一致,经常需要修改ip地址及端口,我测试们能否简化操作呢?
策略:指定多个运行环境,当现在处于测试环境时,让配置文件指向测试,反之做相同操作

— 是环境隔开线
在这里插入图片描述

2.3、lombok

2.3.1、添加jar包文件

在这里插入图片描述

2.3.2、添加注解

在这里插入图片描述
1、链式加载重写了set方法,使方法的返回值为其对象本身,进而可以使对象连续赋值。
2、Lombok是编辑期有效.重写了set/get/toString等方法. 编辑期指代码由.java文件编译为.class文件

3、springboot整合mybatis

3.1、导入依赖

在这里插入图片描述

3.2、编辑配置文件

在这里插入图片描述

3.3、ORM介绍

对象关系映射:通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另一种形式,这也暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案少;而且计算遵守ODMG规范的对象数据库依然需要类级别的元数据。
概括:利用对象的方式操作数据库

3.4、关于mybatis配置文件说明

3.4.1 别名包定义

在这里插入图片描述

3.4.2 别名包在mapper文件的使用

在这里插入图片描述

3.4.3、驼峰映射规则

1、配置
在这里插入图片描述
2、具体描述

在这里插入图片描述

4、MybatisPlus(MP)

4.1、业务场景需求

对于简单的单表的CRUD操作,写来写去就那样(此刻允许我在天上飘一会)
问题:有什么办法可以让我简化单表的CRUD操作,进而提高开发效率

4.2、MybatisPlus

4.2.1、介绍

url地址: https://baomidou.com
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
在这里插入图片描述

4.2.2 特性

无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

4.3、MP工作原理说明

4.3.1、原理实现说明

说明:以对象方式操作数据库
需求分析:
1、对象与数据库表如何映射?
利用注解实现对象与表的绑定,属性与字段绑定
2、如何解决众多接口编辑雷同的CRUD操作?
定义一个公共的mapper接口,定义公共的CRUD操作,利用泛型区分对象
3、数据库只对SQL感兴趣,对对象没兴趣?(如何将对象转化为sql?)
想出将对象转化为SQL的解决方案
在这里插入图片描述

4.3.2、springboot整合MP

4.3.2.1、导入MP依赖

在这里插入图片描述

4.3.2.2、编辑pojo对象

在这里插入图片描述

4.3.2.2、编辑Mapper接口

在这里插入图片描述

4.3.2.2、修改配置文件

在这里插入图片描述

4.3.2.3、MP入门案例

在这里插入图片描述

4.4、MP API

4.4.1、开放sql日志

在这里插入图片描述

4.4.2、CRUD操作

insert操作
在这里插入图片描述
等等其他操作,自行查阅官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值