MyBatis-Plus
MyBatis-plus官网
https://baomidou.com/
@Mapper
public interface AdminMapper extends BaseMapper<Admins> {
}
- 使用MyBatis-plus 只需要继承BaseMapper
- T 泛型需要制定要操作的实体类
只需要继承了BaseMapper接口就可以使用它提供的方法
MyBatis-plus 的BaseMapper接口内声明的方法
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.baomidou.mybatisplus.core.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
public interface BaseMapper<T> extends Mapper<T> {
int insert(T entity);
int deleteById(Serializable id);
int deleteByMap(@Param("cm") Map<String, Object> columnMap);
int delete(@Param("ew") Wrapper<T> wrapper);
int deleteBatchIds(@Param("coll") Collection<? extends Serializable> 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);
T selectOne(@Param("ew") Wrapper<T> queryWrapper);
Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);
List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);
List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);
<E extends IPage<T>> E selectPage(E page, @Param("ew") Wrapper<T> queryWrapper);
<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param("ew") Wrapper<T> queryWrapper);
}
- 使用MyBaits-plus时需要注意的点:
/**
* 默认使用实体类中的名字去数据库中找同名的表,如果没有,需要指定
*/
@TableName(value = "admins")
public class Admins {
/**
* 指定数据库中对应表的主键,如果数据库中的主键名称和实体类中的id不同,需要制定
*/
@TableId(value = "id", type = IdType.AUTO)
private int id;
private String username;
private String password;
/**
* 默认会将驼峰式命名转化为下划线
* 但有时候命名不同,可以使用该注解指定给字段对应的数据库中的字段
*/
@TableField(value = "head_photo")
private String headphoto;
private String isenable;
private String phone;
private String email;
private String address;
private String createTime;
private String position;
//省略get set 方法
...
}