介绍
正如标题所介绍的,近来在写若依的Java项目,虽然与青训营不太相关,但是想着也是后端内容,写一篇应该也没什么关系。其中很多都是在网上找了一些相关的资料,因为说实话我在学习spring boot的时候,配套直接学习了mybatis-plus,而mybatis的逻辑我甚至都不太清楚。随着不断对若以框架的改写,也逐渐摸清楚了套路。
对了值得一提的是,这是一个带有工作流的版本,其中工作流的代码给了我学习对照的地方。
话不多说,直接进入正题。
mybatis-plus介绍
Mybatis-Plus是一款基于Mybatis的ORM框架,它在原有的Mybatis功能上进行了扩展和增强,提供了更加便捷的数据库操作方式。本文将重点介绍Mybatis-Plus中与数据库相关的注解,并提供相关代码示例。
@TableName注解
@TableName注解用于标识实体类与数据库表之间的映射关系。通过该注解,可以指定实体类对应的数据库表名,同时还可以配置其他属性,如是否开启驼峰命名、主键生成策略等。
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("user")
public class User {
// 实体类属性
}
说明一下,上图的@TableName注解将User实体类与数据库中的user表进行映射。
@TableField注解
@TableField注解用于标识实体类属性与数据库表字段之间的映射关系。通过该注解,我们可以指定实体类属性对应的数据库字段名,同时还可以配置其他属性,如是否为主键、是否为自动填充字段等。
import com.baomidou.mybatisplus.annotation.TableField;
public class User {
@TableField("user_name")
private String userName;
// 其他属性
}
上方的@TableField注解将userName属性与数据库中的user_name字段进行映射。
@TableId注解
@TableId注解用于标识实体类属性作为主键的映射关系。通过该注解,可以指定实体类属性对应的数据库主键字段名,同时还可以配置其他属性,如主键生成策略、是否为自增主键等。
import com.baomidou.mybatisplus.annotation.TableId;
public class User {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
// 其他属性
}
示例中,@TableId注解将id属性与数据库中的id字段进行映射,并指定了主键的生成策略为自增。
@Version注解
@Version注解用于标识乐观锁字段的映射关系。通过该注解,我们可以指定实体类属性对应的数据库乐观锁字段名。
import com.baomidou.mybatisplus.annotation.Version;
public class User {
@Version
private Integer version;
// 其他属性
}
其中@Version注解将version属性与数据库中的version字段进行映射。
@TableLogic注解
@TableLogic注解用于标识逻辑删除字段的映射关系。通过该注解,我们可以指定实体类属性对应的数据库逻辑删除字段名。
import com.baomidou.mybatisplus.annotation.TableLogic;
public class User {
@TableLogic
private Integer deleted;
// 其他属性
}
其中@TableLogic注解将deleted属性与数据库中的deleted字段进行映射。
总结
本文是根据我的学习若依框架的心得,然后写数据库的时候用到的Java中Mybatis-Plus框架中与数据库相关的注解,包括@TableName、@TableField、@TableId、@Version和@TableLogic。如果能了解这些注解的作用和使用方法,可以更加灵活方便地进行数据库操作。在实际开发中,根据具体需求合理运用这些注解,可以大大提高开发效率。
当然,一些代码可能和官方文档相似,大家也可以参考官方文档。 [mybatis-plus官方文档](简介 | MyBatis-Plus (baomidou.com))