一、引入POM坐标
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
二、YML配置
mybatis-plus:
# 别名扫描包
type-aliases-package: com.ming.entity
#mapper配置文件
mapper-locations: classpath*:mapper/*.xml
configuration:
#开启驼峰命名
map-underscore-to-camel-case: true
# 是否开启二级缓存
cache-enabled: false
# 配置全局枚举处理器
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
global-config:
db-config:
# id 主键自增长
id-type: auto
# 更新策略:只更新非空字段
update-strategy: not_null
# 全局逻辑删除的实体字段名,字段类型可以是boolean,integer
logic-delete-field: flag
# 逻辑已删除值(默认为 1)
logic-delete-value: 1
# 逻辑未删除值(默认值 0)
logic-not-delete-value: 0
三、定义实体类
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Builder
@TableName("user")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
/**
* 用户id
*/
@TableId
private Long id;
/**
* 用户名
*/
@TableField("name")
private String name;
/**
* 年龄
*/
@TableField("age")
private Integer age;
/**
* 性别
*/
@TableField("gender")
private Integer gender;
/**
* 手机号
*/
@TableField("phone")
private String phone;
}
四、编写Mapper接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
...
}
注意:这里的Mapper接口一定要继承
BaseMapper
接口,并且一定要指定相对应的泛型。
五、编写Service接口
public interface IUserService extends IService<User> {
...
}
注意:这里的Service接口一定要继承
IService
接口,并且一定要指定相对应的泛型。
六、编写ServiceImpl实现类
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
...
}
注意:这里的ServiceImpl实现类一定要继承
ServiceImpl
类,它需要两个泛型:
- 第一个泛型:与之对应的Mapper接口
- 第二个泛型:与之对应的实体类
七、测试
@Slf4j
@SpringBootTest
class IUserServiceTest {
@Autowired
private IUserService userService;
/**
* 插入数据
*/
@Test
public void testSaveUser() {
User user = User.builder().name("汤姆").age(1000).gender(1).phone("18000000000").build();
userService.save(user);
}
/**
* 枚举【in】查询
*/
@Test
public void testQuery() {
List<User> users = userService.listByIds(List.of(1L, 2L, 3L));
log.info("查询结果:{}", users);
}
}