public IOrmEntity
ORM之实体对象
本来想继承 MutableMap
| 限定符和类型 | 接口和说明 |
|---|---|
static class |
IOrmEntity.DefaultImpls
ORM之实体对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
clear()
清空字段值
|
java.lang.String |
compileTemplate(java.lang.String template)
编译字符串模板
|
void |
fromMap(java.util.Map<java.lang.String,? extends java.lang.Object> from,
java.util.List<java.lang.String> expected)
从map中设置字段值
|
<T> T |
get(java.lang.String column,
T defaultValue)
获得对象字段
|
java.lang.Object |
getOrPut(java.lang.String key,
kotlin.jvm.functions.Function0<? extends java.lang.Object> defaultValue)
获得或设置字段值
|
boolean |
hasColumn(java.lang.String column)
判断是否有某字段
|
byte[] |
serialize()
序列化
|
void |
set(java.lang.String column,
java.lang.Object value)
设置对象字段值
|
boolean |
setIntelligent(java.lang.String column,
java.lang.String value)
智能设置属性
在不知属性类型的情况下,将string赋值给属性
=> 需要将string转换为属性类型
=> 需要显式声明属性
|
java.util.Map<java.lang.String,java.lang.Object> |
toMap(java.util.Map<java.lang.String,java.lang.Object> to,
java.util.List<java.lang.String> expected)
获得字段值 -- 转为Map
|
java.lang.String |
toString()
改写 toString()
在实体类 XXXEntity 与模型类 XXXModel 分离的场景下改写 OrmEntity.toString(), 如:
XXXEntity: open class MessageEntity: OrmEntity()
XXXModel: class MessageModel: MessageEntity(), IOrm by GeneralModel(m)
而 XXXModel 继承于 XXXEntity 是为了继承与复用其声明的属性, 但是 IOrm 的方法全部交由 GeneralModel 代理来改写, 也就对应改写掉 XXXEntity/OrmEntity 中与 IOrm 重合的方法(即 IOrmEntity 的方法)
但是某些方法与属性是 XXXEntity/OrmEntity 特有的, 没有归入 IOrm 接口, 也就是说 GeneralModel 不能改写这些方法与属性
=> 将 toString() 归入 IOrm 接口
|
void |
unserialize(byte[] bytes)
序列化
|
boolean hasColumn(java.lang.String column)
判断是否有某字段
<T> T get(java.lang.String column,
T defaultValue)
获得对象字段
java.lang.Object getOrPut(java.lang.String key,
kotlin.jvm.functions.Function0<? extends java.lang.Object> defaultValue)
获得或设置字段值
void set(java.lang.String column,
java.lang.Object value)
设置对象字段值
boolean setIntelligent(java.lang.String column,
java.lang.String value)
智能设置属性 在不知属性类型的情况下,将string赋值给属性 => 需要将string转换为属性类型 => 需要显式声明属性
val user = UserModel() user.id = String.parseInt("123") // 相当于 user.setIntelligent("id", "123")
void clear()
清空字段值
void fromMap(java.util.Map<java.lang.String,? extends java.lang.Object> from,
java.util.List<java.lang.String> expected)
从map中设置字段值
java.util.Map<java.lang.String,java.lang.Object> toMap(java.util.Map<java.lang.String,java.lang.Object> to,
java.util.List<java.lang.String> expected)
获得字段值 -- 转为Map
byte[] serialize()
序列化
void unserialize(byte[] bytes)
序列化
java.lang.String compileTemplate(java.lang.String template)
编译字符串模板
java.lang.String toString()
改写 toString() 在实体类 XXXEntity 与模型类 XXXModel 分离的场景下改写 OrmEntity.toString(), 如: XXXEntity: open class MessageEntity: OrmEntity() XXXModel: class MessageModel: MessageEntity(), IOrm by GeneralModel(m) 而 XXXModel 继承于 XXXEntity 是为了继承与复用其声明的属性, 但是 IOrm 的方法全部交由 GeneralModel 代理来改写, 也就对应改写掉 XXXEntity/OrmEntity 中与 IOrm 重合的方法(即 IOrmEntity 的方法) 但是某些方法与属性是 XXXEntity/OrmEntity 特有的, 没有归入 IOrm 接口, 也就是说 GeneralModel 不能改写这些方法与属性 => 将 toString() 归入 IOrm 接口