xbatis 一款能打能踢的 ORM 框架!!!


xbatis 是什么​

xbatis 是一款基于 mybatis 的 ORM 框架,ORM 程度非常高,几乎不需要再写 SQL;

同时内置多种数据库函数 , 具有良好的不同数据库迁移能力,注意它可以同时支持多种数据库!!!,一款真正意义上的 ORM 框架

xbatis 具有良好程序设计,非常稳定(经过 testcase 验证);优雅的 API、简而易懂的方法操作,让你写代码和写 SQL 几乎一样,学习成本几乎为零。

功能强大,支持 多表 / 子查询,自动分页,优雅的 XML 自动分页等众多功能!!

支持分页,原生自带或 XML 中自动分页

public class Demo {
@Autowired
private SysUserMapper sysUserMapper;

public void page() {
Pager<SysUser> pager= QueryChain.of(sysUserMapper)
.join(SysUser::getRoleId, SysRole::getId)
.like(SysUser::getUserName,"abc")
.paging(Pager.of(1));
}
}

不喜欢 JOIN,又不想写代码,懒?可以

@Data
@ResultEntity(SysUser.class)
public class SysUserVo {

private Integer id;

private String userName;

private LocalDateTime createTime;

@Fetch(source = SysUser.class , property=SysUser.Fields.roleId, target = SysRole.class, targetProperty = SysRole.Fields.id, targetSelectProperty = SysRole.Fields.roleName, orderBy = SysRole.Fields.id+" asc")
private List<String> sysRoleNames;

@Fetch(source = SysUser.class , property=SysUser.Fields.roleId, target = SysRole.class, targetProperty = SysRole.Fields.id, orderBy = SysRole.Fields.id+" asc")
private List<SysRole> sysRoles;
}

@Service
public class Test{

@Autowired
private SysUserMapper sysUserMapper;

public void demo() {
Pager<SysUserVo> pager = QueryChain.of(sysUserMapper)
.select(SysUserVo.class)
.eq(SysUser::getId,1)
.like(SysUser::getUserName,"xxx")
.returnType(SysUserVo.class)
.paging(Pager.of(1,10));
}
}

单表查询,自动加载另外一张表数据,省事

枚举名称,还需要自己注入?来

@Data
@ResultEntity(SysUser.class)
public class SysUserVo {

private Integer id;

private String userName;

private String password;

private Integer status;

@PutEnumValue(source = SysUser.class, property = SysUser.Fields.status, target = StatusEnum.class)
private String statusName;
}

一个注解搞定,牛不牛,再也不用自己写代码搞了

不同数据库,我想执行不同的函数或 sql,怎么弄?来这里

SysUser sysUser = QueryChain.of(sysUserMapper)
.select(SysUser::getId)
// dbAdapt((query, selector) 可以多次
.dbAdapt((query, selector) -> {
selector.when(DbType.H2, (dbType) -> {
//H2 拼接 id = 3
query.eq(SysUser::getId, 3);
}).when(DbType.MYSQL, (dbType) -> {
//MYSQL 拼接 id = 3
query.eq(SysUser::getId, 2);
}).otherwise((dbType) -> {
//其他 拼接 id = 3
query.eq(SysUser::getId, 1);
});
})
.get();

更多无敌功能,来 https://xbatis.cn


相關推薦

2025-04-05

er (写一个 Mapper 即可) 为什么推荐 xbatis?: xbatis 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:代码分页,xml 还可以分页(可以不用 pagehelper 了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再

2025-05-22

er (写一个 Mapper 即可) 为什么推荐 xbatis?: xbatis 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:代码分页,xml 还可以分页(可以不用 pagehelper 了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再

2025-05-01

er (写一个 Mapper 即可) 为什么推荐 xbatis?: xbatis 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:代码分页,xml 还可以分页(可以不用 pagehelper 了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再

2025-05-11

er (写一个 Mapper 即可) 为什么推荐 xbatis?: xbatis 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:代码分页,xml 还可以分页(可以不用 pagehelper 了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再

2024-10-29

RM部分的发版 为什么推荐 mybatis-mp ?: mybatis-mp 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:良好 resultMap 结果映射能力(不怕映射错误了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板,

2024-08-17

下ID自增器警告 为什么推荐mybatis-mp ?: mybatis-mp 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:良好 resultMap 结果映射能力(不怕映射错误了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板

2024-10-01

er @ToString 支持 为什么推荐 mybatis-mp ?: mybatis-mp 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:良好 resultMap 结果映射能力(不怕映射错误了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板

2024-10-22

仍可正常处理 为什么推荐 mybatis-mp ?: mybatis-mp 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:良好 resultMap 结果映射能力(不怕映射错误了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板

2024-07-24

mybatis-mp是一款真正意义上ORM框架,绝对好用的不行!!! 官方文档:https://mybatis-mp.cn 1.6.0 rc1 发布 1:减少生成器maven依赖 2:增加多主键兼容   10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默

2024-10-23

ow())) .execute(); 为什么推荐 mybatis-mp ?: mybatis-mp 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:良好 resultMap 结果映射能力(不怕映射错误了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板

2024-10-24

异常问题 。 为什么推荐 mybatis-mp ?: mybatis-mp 是一款超级强大的 ORM 框架 1:可多表 join(不再只能单表了) 2:良好 resultMap 结果映射能力(不怕映射错误了) 3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板,

2024-08-08

官网 :https://mybatis-mp.cn 更新: 1: 多主键情况,代码生成器自动生成 类似 getById (Integer id1,Integer id2) 的方法 2:多主键情况,代码生成器自动生成 类似 deleteById (Integer id1,Integer id2) 的方法 1. 单表查询 SysUser sysUser = QueryC

2024-06-15

官方文档:http://mybatis-mp.cn mybatis-mp 是一款超级好用ORM框架,它不是mybatis-plus;设计简单、 使用灵活、快捷、扩展性超强 JPA Hibernate JdbcTempte 等要么太死 太难 太呆;稍微复杂一点就需要拼sql 好累!!! 所以为什么不

2024-07-12

官方文档:https://mybatis-mp.cn 1.5.9 正式发布 1:增加 json字段 对应的typeHandler 2:优化了maven依赖 3:@TableField 增加 insert 开关 4:新增saveOrUpdate 5:优化DaoImpl,让继承者更容易扩展 6:Methods 增加count1()/countAll()方法 7:Met