MyBatisPlus mybatis的使用 mapper代理

简介:是在mybatis框架上开发的增强工具,皆在简化开发,提高效率

开发方式:

SpringBoot整合Mybatisplus开发过程:

在dao层中对应的dao继承extend 

lombok插件:简化实体类

MyBatisPlus mybatis的使用 mapper代理_第1张图片

@Data :

 Mybatis plus 分页功能:

MyBatisPlus mybatis的使用 mapper代理_第2张图片

         MyBatisPlus mybatis的使用 mapper代理_第3张图片

         MyBatisPlus mybatis的使用 mapper代理_第4张图片

使用mybatisplus通用的mapper:

mapper接口或者说是dao接口extends BaseMapper

BaseMapper接口是Mybatiesplus提供的,其中包括了很多通用单表的增删改查

@Repository:将类或者接口标识为持久层组件!

下载mybatisplus的源码:

mvn dependency:resolve -Dclassifier=sources

在pom的根目录下

@TableName("实体类所对应的数据库内的表名"):用来绑定实体类和数据库内的表的,作用在实体类的上面

设置Mybatis-plus的全局变量(设置数据库内表的前缀,可以让实体类绑定数据库内表时前面自动加上前缀):

 @TableId(value = "数据库中对应的字段名" type="设置主键生成策略"):将属性所对应的字段指定为主键,作用在实体类中的变量上面。

Wrapper构造器:

queryWrapper(常用):可以用来查询和删除和修改;

MyBatisPlus mybatis的使用 mapper代理_第5张图片

 此处链式结构的语句.之间默认是用的and连接,要想变成or连接可以使用.or()在接着写

.gt 表示大于  .lt表示小于

updateWrapper:可以用来修改

MyBatisPlus mybatis的使用 mapper代理_第6张图片

 MyBatisplus的乐观锁实现:

在实体类和数据库中添加一个版本号,当数据被修改时,版本号则变化,这时候使用乐观锁则可以生效。

 乐观锁插件:

Mybatisplus中使用枚举的步骤:

1.在枚举类中加入注解

@EnumValue :将注解所标识的属性的值存储在数据库中,作用在枚举中值的上面。

2.配置扫描枚举包的

MyBatis的Mapper代理:

MyBatisPlus mybatis的使用 mapper代理_第7张图片

 在rousources里面创建包要用/来作为分隔符,而不是用.

当数据库里面的字段和实体类里面的字段不一样时的解决方法:

第一种方法:给查询的字段用(as)起别名

 第二种:使用resultMap映射(很常用)

       

  //完成主键的映射。

面试小知识:

mybatis中#{}和${}两个占位符的区别:

#{}:为了防止SQL注入,这里会被替换为?

${}:拼接SQL,会存在SQL注入问题

Mybatis接受多参数:

@Param("sql里面的占位符名称")绑定映射关系

 MyBatisPlus mybatis的使用 mapper代理_第8张图片

Mybatis公共字段的自动填充

Mybatis XML映射文件

mybatis – MyBatis 3 | 简介icon-default.png?t=M7J4https://mybatis.org/mybatis-3/zh/index.html

基本使用

  1. Mapper.xml统一放在resources/mapper目录下,需要在配置文件修改配置

    #Mybatis的映射文件存放位置
    mybatis.mapper-locations=classpath:mapper/*
  2. 映射文件的名称要和对应Mapper类的名称要一致,以.xml后缀结尾

  3. 映射文件的namespace要和Mapper类的全限定名(包名+类名)一致

  4. 使用select、insert、update、delete标签进行SQL绑定,SQL语句写在标签之间

  5. id要和方法名一致

  6. select标签还需要使用resultType指定返回的类型

Mybatis实体类别名

#Mybatis别名配置,指定包下面的所有类都会自动生成别名
mybatis.type-aliases-package=com.iflytek.entity

Mybatis结果映射

  1. 使用resultMap标签可以手工指定实体类属性和数据库表的映射关系

  2. 使用id标签表示主键的映射,使用result标签表示普通属性的映射

  3. property属性代表实体实体类的属性,column代表数据库表的字段

  4. 使用association标签映射一个复杂对象

你可能感兴趣的:(mybatis,spring,boot,java)