MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,简化了开发工作。
MyBatis-plus常用CRUD示例
1. 定义实体类:
首先,你需要定义一个实体类,通常在你的实体类上使用 @TableName
指定表名,使用 @TableId
指定主键,使用 @TableField
指定字段。
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
@TableName("user")
public class User {
@TableId
private Long id;
@TableField("name")
private String name;
@TableField("email")
private String email;
// 省略 getter 和 setter 方法
}
2. 定义 Mapper 接口:
接下来,你需要定义一个 Mapper 接口,继承 BaseMapper<T>
。
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {
// 这里可以添加一些自定义的方法
}
-新增(create)
@Autowired
private UserMapper userMapper;
public void createUser(User user) {
userMapper.insert(user);
}
-读取(read)
-根据ID查询
public User getUserById(Long id) {
return userMapper.selectById(id);
}
-查询所有
public List<User> getAllUsers() {
return userMapper.selectList(null);
}
-更新(update)
-更新全部字段
public void updateUser(User user) {
userMapper.updateById(user);
}
-更新部分字段
public void updateUserPartial(User user) {
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", user.getId());
userMapper.update(user, updateWrapper);
}
-删除
-根据ID删除
public void deleteUserById(Long id) {
userMapper.deleteById(id);
}
-根据实体删除
public void deleteUserByUser(User user) {
userMapper.delete(user);
}
-根据条件删除
public void deleteUserByCondition(UpdateWrapper<User> updateWrapper) {
userMapper.delete(updateWrapper);
}
MyBatis-Plus配置
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
type-aliases-package: com.example.entity
global-config:
db-config:
id-type: auto