fastmybatis 2.3.0 发布,本次更新内容如下:
- listByCollection,listByArray,listByIds当value为空直接返回空结果 - 新增子条件查询 - 新增or条件查询 - mapper新增getMap方法,将查询结果转换成Map对象 - saveBatch批量插入返回主键值
or条件查询示例:
// WHERE id = ? OR username = ?
Query query = new Query()
.eq("id", 6)
.orEq("username", "jim");
子条件查询示例:
// WHERE (id = ? OR id between ? and ?) AND ( money > ? OR state = ? )
Query query = new Query()
.and(q -> q.eq("id", 3).orBetween("id", 4, 10))
.and(q -> q.gt("money", 1).orEq("state", 1));
// WHERE ( id = ? AND username = ? ) OR ( money > ? AND state = ? )
Query query = new Query()
.and(q -> q.eq("id", 3).eq("username", "jim"))
.or(q -> q.gt("money", 1).eq("state", 1));
getMap方法示例:
Query query = new Query()
.ge("id", 1);
// 查询Map,主键id作为key,行记录作为value,方便通过主键id获取某条记录
// id -> TUser
Map<Integer, TUser> map = mapper.getMap(query, TUser::getId);
System.out.println(map.get(6));
关于 fastmybatis
fastmybatis 是一个 mybatis 开发框架,其宗旨为:简单、快速、有效。
- 零配置快速上手,无需依赖 Spring
- 无需编写 xml 文件即可完成增删改查操作
- 支持 mysql、sqlserver、oracle、postgresql、sqlite
- 支持自定义 sql,对于基本的增删改查不需要写 SQL,对于其它特殊 SQL(如统计 SQL)可写在 xml 中
- 支持与 spring-boot 集成,依赖 starter 即可
- 支持插件编写
- 支持 ActiveRecord 模式
- 支持多租户
- 提供通用 Service
- API 丰富,多达 40 + 方法,满足日常开发需求。
- 轻量级,无侵入性,是官方 mybatis 的一种扩展