Mybatis Plus提供了丰富的对象封装功能,主要有:
1. Entity类封装
可以使用@TableName和@TableField自动封装实体类:
@TableName("user")
public class User {
@TableId("id")
private Integer id;
@TableField("name")
private String name;
}
Mybatis Plus会自动映射表名和字段名。
2. ResultMap封装
提供了全局的BaseResultMap,可以自动映射字段:
@Select("select * from user")
@ResultMap
public List<User> selectAll();
或者自定义ResultMap:
@ResultMap("userResult")
public List<User> selectAll();
3. SQL封装
提供@Select、@Update、@Insert等注解,封装SQL:
@Update("update user set ${et.column}=${et.currentValue} where id=#{id}")
public void updateById(User user);
4. 参数对象封装
提供#{}和${}等内置参数对象,简化参数传递:
@Select("select * from user where id = ${id}")
public User selectById(@Param("id") Serializable id);
5. 复杂条件封装
提供Wrapper对象封装复杂条件:
public void selectByWrapper(Wrapper<User> wrapper);
然后可以:
wrapper.eq("name","John").like("email","a");
通过这些对象封装,降低了Mybatis Plus的使用难度。
主要特点包括:
- 实体类自动映射
- ResultMap自动封装
- SQL语句封装
- 简化参数传递
- 封装复杂条件
提供了多种对象,有效解决SQL与Java之间的映射。