做招商网站,wordpress 博客摘要,详情页设计公司,百度统计网站概况目录 一. 引入依赖
二.定义Mapper 三.常见注解
3.1TableName
3.2.TableId
3.3TableField
3.4常见配置 一. 引入依赖
由于这个starter包含对mybatis的自动装配#xff0c;因此完全可以替换掉Mybatis的starter。
dependencygroupIdcom.baomidou/gr…目录 一. 引入依赖
二.定义Mapper 三.常见注解
3.1TableName
3.2.TableId
3.3TableField
3.4常见配置 一. 引入依赖
由于这个starter包含对mybatis的自动装配因此完全可以替换掉Mybatis的starter。
dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3.1/version
/dependency
二.定义Mapper
为了简化单表CRUDMybatisPlus提供了一个基础的 BaseMapper 接口其中已经实现了单表的CRUD 因此我们自定义的Mapper只要继承了这个BaseMapper就无需自己实现单表CRUD了。 三.常见注解
我们刚才仅仅引入了依赖继承了BaseMapper就能使用MybatisPlus, 但是 MybatisPlus如何知道我们要查询的是哪张表表中有哪些字段呢
UserMapper在继承BaseMapper的时候指定了一个泛型 泛型中的User就是与数据库对应的PO. MybatisPlus就是根据PO实体的信息来推断出表的信息从而生成SQL的。默认情况下 MybatisPlus会把PO实体的类名驼峰转下划线作为表名 MybatisPlus会把PO实体的所有变量名驼峰转下划线作为表的字段名并根据变量类型推断字段类型 MybatisPlus会把名为id的字段作为主键 但很多情况下默认的实现与实际场景不符因此MybatisPlus提供了一些注解便于我们声明表信息。 3.1TableName 说明 描述表名注解标识实体类对应的表 使用位置实体类 示例 TableName(user)
public class User {private Long id;private String name;
} TableName注解除了指定表名以外还可以指定很多其它属性 3.2.TableId 说明 描述主键注解标识实体类中的主键字段 使用位置实体类的主键字段 示例 TableName(user)
public class User {TableId(value id, type IdType.AUTO)private Long id;private String name;
} 这里 type 比较常见的有三种 AUTO利用数据库的id自增长 INPUT手动生成id(insert 前自行 set 主键值) ASSIGN_ID雪花算法生成Long类型的全局唯一id这是默认的ID策略(分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)) 3.3TableField 说明 描述普通字段注解 示例 TableName(user)
public class User {TableIdprivate Long id;private String name;private Integer age;TableField(isMarried)private Boolean isMarried;TableField(concat)private String concat;
} 一般情况下我们并不需要给字段添加TableField注解一些特殊情况除外 成员变量名与数据库字段名不一致 成员变量是以isXXX命名按照JavaBean的规范MybatisPlus识别字段时会把is去除这就导致与数据库不符。 成员变量名与数据库一致但是与数据库的关键字冲突。使用TableField注解给字段名添加转义字符 成员变量不是数据库字段 3.4常见配置 MybatisPlus也支持基于yaml文件的自定义配置详见官方文档使用配置 | MyBatis-Plus (baomidou.com) 大多数的配置都有默认值因此我们都无需配置。但还有一些是没有默认值的例如: mybatis-plus:type-aliases-package: # 实体类的别名扫描包 路径global-config:db-config:id-type: auto # 全局id类型为自增长 需要注意的是MyBatisPlus也支持手写SQL的而mapper文件的读取地址可以自己配置 mybatis-plus:mapper-locations: classpath*:/mapper/**/*.xml # Mapper.xml文件地址当前这个是默认值。 可以看到默认值是classpath*:/mapper/**/*.xml也就是说我们只要把mapper.xml文件放置这个目录下就一定会被加载。 例如我们新建一个UserMapper.xml文件 ?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespace/mapper