mybatis-mp:ID 自增配置同时支持多种数据库!


mybatis-mp 是一款高度ORM的框架,api简单又方便,学习成本非常低:https://gitee.com/mybatis-mp 

mybatis-mp 虽然是基于mybatis,但是它却是一款高实现ORM的框架,可同时支持不同数据库,这意味着你可以用一份代码,在不同数据库中运行

例如常见的ID自增,有的数据库ID自己会自增,有的只能指定序列自增,用了mybatis-mp,可省大部分心了,自动适应;

@Data
@Table
public class IdTest {


@TableId //默认
@TableId(dbType = DbType.H2, value = IdAutoType.AUTO) //H2
@TableId(dbType = DbType.SQL_SERVER, value = IdAutoType.AUTO) //SQL_SERVER
@TableId(dbType = DbType.PGSQL, value = IdAutoType.SQL, sql = "select nextval('id_test_id_seq')")
@TableId(dbType = DbType.ORACLE, value = IdAutoType.SQL, sql = "select id_test_seq.NEXTVAL FROM dual")
private Long id;

private LocalDateTime createTime;

}

保存代码(无差异) :

IdTestMapper idTestMapper = session.getMapper(IdTestMapper.class);
IdTest idTest = new IdTest();
idTest.setCreateTime(LocalDateTime.now());
idTestMapper.save(idTest);

相關推薦

2024-05-29

官方文档:http://mybatis-mp.cn 1.5.1更新: 1.修复了多数据源 springboot3下报错的问题 2.部分数据库函数同时兼容各数据库 3.增加不同数据库执行不同sql功能 SysUser sysUser = QueryChain.of(sysUserMapper) .select(SysUser::getId) .onDB(DbType.H2, queryC

2024-05-25

官方文档:http://mybatis-mp.cn 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4:mybatis-mp - 亮点四

2023-11-20

mybatis-mp是基于mybatis实现的一款orm框架,可以大大的简化sql操作的复杂度,具有丰富的api,例如多表join,多表返回,数据库函数支持;内置分页功能,以及sql优化(超强) 访问  gitee 地址:https://gitee.com/mybatis-mp 此次更新内

2024-04-03

1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4:mybatis-mp - 亮点四:可自定义 sql(sql 模板) 5

2024-06-06

官方文档:http://mybatis-mp.cn SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态

2024-06-03

官方文档:http://mybatis-mp.cn   10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时

2024-06-04

官方文档:http://mybatis-mp.cn SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态

2024-06-17

官方文档:http://mybatis-mp.cn 1.5.8 正式发布 1. SQL with 优化,支持with 递归 2. 增加orderByDesc 方法 3:order by nulls first last 适配 4:兼容人大金仓数据库 5:兼容clickhouse 6:修复模板包含列别名的问题 7:优化update set 增加when

2024-06-07

官方文档:http://mybatis-mp.cn 1.5.7  加强了对泛型的处理 更好的支持var SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点:

2024-06-01

官方文档:http://mybatis-mp.cn 1.5.3 更新: 1:优化分页paging,让开发者可以继承Pager,并分页是无需再转换 2:兼容普通VO,实现字段名映射,lambda映射,例如:.selectWithFun(SysAuthority::getParentId, c -> c.as(Tree::getParentId)) 3:修复sql模板

2024-07-24

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

2024-06-29

thods count方法增加distinct功能 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4

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

2024-01-25

4.修复了保存时,id自增时,可能出现类型转换的问题 mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:select 自动化以及结果 1 对 1,1 对多,超级方便快