Mybatis Plus

        一、什么是Mybatis Plus

        Mybatis Plus是Mybatis的增强版,可以简化对数据库的增删改查工作,加速应用的开发。Mybatis Plus对Mybatis无侵入,也就是对已有的Mybatis代码没有影响,Mybatis代码仍可以继续使用。

         网址是:简介 | MyBatis-Plus

        二、快速入门Mybatis Plus

        首先引入MyBatis Plus的依赖,引入了此依赖,Mybatis的依赖可以删除

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

        接着将自定义的Mapper接口继承MybatisPlus提供的接口BaseMapper,下面是简单的例子:

假设自定义了一个UserMapper,要指定泛型,也就是要操作的实体类,这里我指定User

public interface UserMapper extends BaseMapper<User> {}

        BaseMapper接口定义了非常丰富的增删改查方法,可以实现数据库单表查询,下面是其中一些方法可以直接调用:

    int insert(T entity);

    int deleteById(Serializable id);

    int deleteById(T entity);

    int deleteByMap(@Param("cm") Map<String, Object> columnMap);

    int delete(@Param("ew") Wrapper<T> queryWrapper);

    int deleteBatchIds(@Param("coll") Collection<?> idList);

    int updateById(@Param("et") T entity);

    int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);

    T selectById(Serializable id);

    List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);

    List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);

        三、常见注解

        Mybatis Plus是如何知道需要操作哪张数据库表,答案是通过泛型来指定,继承BaserMapper时需要指定泛型,泛型就是要操作数据库表对应的实体类,通过反射可知实体类中的属性,也就可以获取数据库表中的字段了。MybatisPlus会将驼峰命名的字段自动转换成下划线,以此来获取数据库字段名。

        但是数据库表对应的实体类类名与数据库表的表名不一致时,或者实体类属性名与数据库字段名不一致时,需要用到注解来标识,以便MybatisPlus生成正确的表名和字段名。

        以下介绍常见的注解,假设数据库表名为music_user,而实体类类名为User时,需要用到@TableName注解:


@TableName("music_user")//标识数据库表名
public class User{}
    

        当数据库字段名为username,而实体类属性名为name时,需要用到@TableField注解:

@TableName("music_user")
public class User{

    @TableField("username")//标识数据库字段名
    private String name;
}
    

        可以用@TableId注解来标识数据库的主键,并且主键在数据库是自增的时候,用IdType.AUTO这个属性来标识

public class User{
    @TableId(type = IdType.AUTO )
    private Integer id; 

}

        如果主键是需要程序员自己填写,则使用IdType.INPUT,如果是IdType.ASSIGN_ID则代表使用雪花算法生成id值。更多的类型可以查阅官方网站。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值