mybatisPlus常⽤注解BaMapper⽅法IService⽅法Wrapper常。。。
.通过对mybatisPlus的学习,我们在常规的开发中,可以明显感受到,代码⼯作很少,基本都mybatisPlus提供,在Ur层中减少t get⽅法 使⽤注解⽅法标识青春童话
springboot版本
.UrMapper层是持久层,继承BaMapper,在BaMapper有常规的增删改查基本⽅法,当我们有需要其他⽅法时,也可以⾃⼰使⽤注解⽅法
@Repository//持久层
public interface UrMapper extends BaMapper<Ur> {
@Select("lect * from ur")
public List<Ur> findAll();
}
这⾥Service层,声明⽅法接⼝,实现⽅法
Ur实体类
@Data//注解要先引⼊lombok,lombok 是什么,它是⼀个⼯具类库,可以⽤简单的注解形式来简化代码,提⾼开发效率
@AllArgsConstructor//它是lombok中的注解,作⽤在类上;使⽤后添加⼀个构造函数,该构造函数含
有所有已声明字段属性参数
@NoArgsConstructor//然后就会为没有初始化的 final 字段设置默认值
童话睡前故事public class Ur {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
起头皮屑是什么原因导致的private String email;
@TableField(fill = FieldFill.INSERT)//表数据插⼊时间
private LocalDateTime createTime;
@TableField(fill = FieldFill.INSERT_UPDATE) //修改时间
private LocalDateTime updateTime;
@Version //乐观锁
孕前检查注意事项private Integer version;
@TableLogic //逻辑删除,默认0,删除1
private Integer deleted;
}
测试TestService
@SpringBootTest
public class ServiceTest {
@Autowired
private UrService urService;
@Test
//查询条件全部
void contextLoads() {
//查询name不为空,邮箱不为空,年龄⼤于15
QueryWrapper<Ur> queryWrapper = new QueryWrapper<>(); queryWrapper.isNotNull("name");
queryWrapper.isNotNull("email");
<("age","15");
urService.lectList(queryWrapper).forEach(System.out::println); }
其他层代码在前⾯的⽂章有讲解,
所需依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/><!-- lookup parent from repository --> </parent>
<!--简略get、t⽅法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
<!--Mybatis-Plus 注意版本-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<!--数据库连接驱动连接配置修改时间-->
<dependency>
<groupId>mysql</groupId>
同情近义词<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--模板引擎-->
篮球比赛海报<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
常⽤注解
【@TableName 】作⽤于类上
@TableName ⽤于定义表名
注:
网页自动翻译
常⽤属性:
value ⽤于定义表名
【@TableId】作⽤于属性上
@TableId ⽤于定义表的主键
注:
常⽤属性:
value ⽤于定义主键字段名
type⽤于定义主键类型(主键策略 IdType)
主键策略:
IdType.AUTO 主键⾃增,系统分配,不需要⼿动输⼊
IdType.NONE 未设置主键
IdType.INPUT 需要⾃⼰输⼊主键值。
IdType.ASSIGN_ID 系统分配 ID,⽤于数值型数据(Long,对应 mysql 中 BIGINT 类型)。
IdType.ASSIGN_UUID 系统分配 UUID,⽤于字符串型数据(String,对应 mysql 中 varchar(32)类型)。
【@TableField】作⽤与属性上
@TableField ⽤于定义表的⾮主键字段。
注:
常⽤属性:
value ⽤于定义⾮主键字段名
exist ⽤于指明是否为数据表的字段,true表⽰是,fal 为不是。
fill ⽤于指定字段填充策略(FieldFill)。
字段填充策略:(⼀般⽤于填充创建时间、修改时间等字段)
FieldFill.DEFAULT 默认不填充
FieldFill.INSERT 插⼊时填充
FieldFill.UPDATE 更新时填充
FieldFill.INSERT_UPDATE 插⼊、更新时填充。
袁隆平院士
【@TableLogic】
@TableLogic ⽤于定义表的字段进⾏逻辑删除(⾮物理删除)
注:
常⽤属性:
value ⽤于定义未删除时字段的值
delval ⽤于定义删除时字段的值
【@Version】作⽤于属性上
@Version ⽤于字段实现乐观锁
BaMapper⽅法简介