Skip to content

SmartDb超级简单的ORM

SmartDb的ORM非常简单,1分钟你就能上手~

1、认识注解

SmartDb中的ORM注解非常少,所以很好上手; SmartDb一共5个注解,如下:

  • @TableAlias 表名自定义
  • @PrimaryKey 主键
  • @UseGeneratedKey数据库自增主键
  • @ColumnAlias列名自定义
  • @ColumnIgnore 忽略某一列

2、ORM支持枚举

  • SmartDb支持 enum, 对数据库列必须为 字符 char 类型
  • 如果想使用枚举,但是数据库为 int整型,可以使用让 enum实现SmartDbEnum接口

3、ORM 实体

java
@TableAlias("t_enum")
public class EnumEntity {
    @PrimaryKey
    @UseGeneratedKey
    private Integer id;   // 自增主键id
	
    private String userName;    // 用户名
   
    @ColumnAlias("city")
    private String area;    // 列名 自定义
    
    private Sex sex; // 枚举: girl 和 boy; 数据库必须为 char、varchar等字符类型
    
    private Level level;// 枚举: Level.class 实现了 SmartEnum 接口; 数据库则为 int 等整数类型

4、ORM 插入

插入有 SmartDb.insertSmartDb.insertSelective 两个方法

  • 其中 insert ORM插入对象(包含属性为null的数据)
  • 其中 insertSelective ORM插入对象,排除属性为null的数据
java
EnumEntity enumEntity = new EnumEntity();
enumEntity.setLevel(Level.HIGH);
enumEntity.setUserName("hi");
enumEntity.setSex(Sex.BOY);

smartDb.insertSelective(enumEntity);
smartDb.insert(enumEntity);

5、ORM 批量插入

插入有 SmartDb.batchInsertSmartDb.batchInsertSelective 两个方法,于 insert 同理

6、ORM 更新

更新有 SmartDb.updateSmartDb.updateSelective 两个方法

  • 其中 update ORM更新一个对象(包含属性为null的列)
  • 其中 updateSelective ORM更新一个对象, 去除属性为null的列

7、ORM 删除

删除 SmartDb.delete方法,会根据 @PrimaryKey注解对应的列去删除;