fastmybatis 2.1.0 发布,本次更新内容如下:
- 支持多租户
- 新增ActiveRecord模式
多租户
fastmybatis支持两种方式实现多租户:通过字段隔离,通过表名隔离
具体实现方式参考文档:多租户
ActiveRecord模式
实体类实现com.gitee.fastmybatis.core.support.Record
接口即可拥有ActiveRecord模式
实体类:
/**
* Active Record
* 表名:user_info
* 备注:用户信息表
*/
@Table(name = "user_info")
public class UserInfoRecord implements Record {
...
}
测试用例:
// 保存全部字段
@Test
public void save() {
UserInfoRecord userInfoRecord = new UserInfoRecord();
userInfoRecord.setUserId(11);
userInfoRecord.setCity("杭州");
userInfoRecord.setAddress("西湖");
boolean success = userInfoRecord.save();
Assert.assertTrue(success);
}
// 保存不为null的字段
@Test
public void saveIgnoreNull() {
UserInfoRecord userInfoRecord = new UserInfoRecord();
userInfoRecord.setUserId(11);
userInfoRecord.setCity("杭州");
userInfoRecord.setAddress("西湖");
boolean success = userInfoRecord.saveIgnoreNull();
Assert.assertTrue(success);
}
// 修改全部字段
@Test
public void update() {
UserInfoRecord userInfoRecord = new UserInfoRecord();
userInfoRecord.setId(4);
userInfoRecord.setUserId(11);
userInfoRecord.setCity("杭州");
userInfoRecord.setAddress("西湖");
boolean success = userInfoRecord.update();
Assert.assertTrue(success);
}
// 修改不为null的字段
@Test
public void updateIgnoreNull() {
UserInfoRecord userInfoRecord = new UserInfoRecord();
userInfoRecord.setId(5);
userInfoRecord.setUserId(11);
userInfoRecord.setCity("杭州");
userInfoRecord.setAddress("西湖");
boolean success = userInfoRecord.updateIgnoreNull();
Assert.assertTrue(success);
}
// 保存或修改不为null的字段
@Test
public void saveOrUpdateIgnoreNull() {
UserInfoRecord userInfoRecord = new UserInfoRecord();
userInfoRecord.setUserId(11);
userInfoRecord.setCity("杭州");
userInfoRecord.setAddress("西湖");
boolean success = userInfoRecord.saveOrUpdateIgnoreNull();
Assert.assertTrue(success);
System.out.println("id:" + userInfoRecord.getId());
}
// 删除记录
@Test
public void delete() {
UserInfoRecord userInfoRecord = new UserInfoRecord();
userInfoRecord.setId(8);
boolean success = userInfoRecord.delete();
Assert.assertTrue(success);
}
关于fastmybatis
fastmybatis是一个mybatis开发框架,其宗旨为:简单、快速、有效。
- 零配置快速上手
- 无需编写xml文件即可完成CRUD操作
- 支持mysql、sqlserver、oracle、postgresql、sqlite
- 支持自定义sql,对于基本的增删改查不需要写SQL,对于其它特殊SQL(如统计SQL)可写在xml中
- 支持与spring-boot集成,依赖starter即可
- 支持插件编写
- 支持ActiveRecord模式
- 支持多租户
- 提供通用Service
- 轻量级,无侵入性,是官方mybatis的一种扩展