官網 :https://mybatis-mp.cn
1. 單表查詢
SysUser sysUser = QueryChain.of(sysUserMapper)
.eq(SysUser::getId, 1)
.eq(SysUser::getUserName,'admin')
.get();
2.VO 對映
@Data
@ResultEntity(SysUser.class)
public class SysUserVo {
private Integer id;
private String userName;
//欄位名字不一樣時
@ResultEntityField(property = "password")
private String pwd;
}
SysUserVO sysUserVO = QueryChain.of(sysUserMapper)
.eq(SysUser::getId, 1)
.eq(SysUser::getUserName,'admin')
.returnType(SysUserVO.class)
.list();
join 查詢
@Data
@ResultEntity(SysUser.class)
public class SysUserVo {
private Integer id;
private String userName;
//欄位名字不一樣時
@ResultEntityField(property = "password")
private String pwd;
//對映一個物件 1對1
@NestedResultEntity(target = SysRole.class)
prviate SysRole sysRole;
//對映多個物件 1對多
@NestedResultEntity(target = SysRole.class)
prviate List<SysRole> sysRoles;
}
List<SysUserRoleVO> list = QueryChain.of(sysUserMapper)
.from(SysUser.class)
.join(SysUser.class, SysRole.class)
.returnType(SysUserRoleVO.class)
.list();
還有很多很多超級方便有趣的寫法,歡迎大家來使用 https://mybatis-mp.cn
例如
1 . 多表 join A 內嵌 B B 內嵌 C 都可以
2 . 不使用 join 使用 @Fetch 註解 + fetchFilter 方法實現 將 A JOIN B 變成 query A + query B
3 . 使用 @Paging 註解 實現你的 xml 自動分頁
4 . 使用 SQL 模板,讓你 ORM 更簡單更容易擴充套件,再也不怕被框架限制了