1.MybatisPlus

1.1 MP 介绍

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

1.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 操作智能剖析阻断,也可自定义拦挡规定,预防误操作

1.3 ORM思维

1.3.1 业务场景

eg:一个开发了30年的程序员,业务相当纯熟,然而为了实现的业务也须要写特地简略的SQL语句。
需要:是否无效的进步开发的效率

1.3.2 ORM介绍

对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型零碎的数据之间的转换。从成果上说,它其实是创立了一个可在编程语言里应用的“虚构对象数据库”。现在已有很多收费和付费的ORM产品,而有些程序员更偏向于创立本人的ORM工具。

  • 常识铺垫:
    Sql语句面向过程的语言,
    sql:select * from user ResultSet后果集~~~User对象 须要本人手动的封装,开发的效率低。
    ORM形式:以对象的办法操作数据库,能够实现后果集与对象的主动映射,不须要本人手写

1.4 MybatisPlus工作原理阐明

1.对象与那张表要实现映射

  • 能够自定义注解进行示意

    2.对象的属性与表中的字段如何一 一对应

  • 起名时应该写成一样的,如果不一样利用特定的配角指定

    3.工具办法如何简化

  • MP动静的生成CRUD操作的接口,只有其余的Mapper接口继承

    4.对象如何转化SQL语句

  • 利用对象中的属性及属性的值动静拼接即可

1.5 MP个体实现

1.5.1 导入jar包

阐明:MybatisPlus包曾经蕴含Mybatis的信息,所以须要将原来的包删除。

<!--spring整合mybatis-plus -->    <dependency>        <groupId>com.baomidou</groupId>        <artifactId>mybatis-plus-boot-starter</artifactId>        <version>3.2.0</version>    </dependency>
1.5.2 编辑POJO对象

1.5.3 实现接口的继承

1.5.4 批改YML映射文件

1.5.5 编辑YML文件实现sql打印操作

1.5.6 测试

1.5.7 MP实现原理
1.对象与表如何映射

能够利用自定义的注解的形式实现映射. @TableName 不能省略 @TableField(“name”)如果名称统一能够省略
1.对象的名称与表的名称 一一映射。
2.对象中的属性与表中的字段一一映射。

2 利用接口封装公共的CURD办法

MP次要的目标是实现单表的CRUD操作.所以将公共的办法写到同一个接口中 BaseMapper当前用户应用时,只须要继承即可。

3 须要将对象动静转化为SQL

要求:以对象的形式操作数据库. 须要办法动静转化为SQL
userMapper.insert(user对象)
Sql: insert into 表名(字段名称1,字段名称2....) values (属性值1,属性值2......)
personMapper.insert(person对象)
Sql: insert into 表名(字段名称1,字段名称2....) values (属性值1,属性值2......)

底层实现时须要动静的拼接Sql即可.
表名: @TableName注解动静获取
字段名称: @TableField(“name”) 获取
属性值: 动静利用get办法取值即可.

MP将上述的sql构造进行拼接最终造成可执行的Sql.之后利用Mybatis执行sql操作.之后再次封装.

1.6 MP API介绍

2.web我的项目创立

2.1 创立web我的项目

2.1.1 创立maven我的项目

2.1.2 编辑pom.xml文件

2.1.3 编辑JSP页面

2.1.4 编辑POJO

2.1.5 编辑YML配置文件

2.1.6 解决页面拜访404问题


2.1.7 编辑UserController

2.1.8 编辑UserService

2.1.8 页面成果展示

2.2 异步形式调用

2.2.1 为什么ajax能够实现异步???

特点:部分刷新:异步调用(加载)
调用原理阐明:
1.用户将申请发给ajax引擎进行解决,之后期待引擎返回数据
2.ajax引擎承受到用户的申请之后,代替用户拜访后端服务器
3.后端服务器承受申请之后,执行业务解决,并且将返回值返回
4.ajax引擎收到返回后果之后,要在第一工夫告诉给用户. 利用回调函数将数据传给客户端.ajax调用胜利.

2.3 ajax获取用户信息

2.3.1 筹备ajax页面

创立一个jsp文件 名为:ajax.jsp

2.3.2 编辑页面JS内容

2.3.3 编辑UserController

2.3.4 页面成果出现