其他功能

1.合并更多数据

// 关联另外的NeoMap跟putAll一样
public NeoMap append(NeoMap neoMap) {}

// 增加数据,跟put一样,只是返回值是NeoMap,便于链式操作
public NeoMap append(String key, Object value) {}

// 跟putAll差不多,不过这里新增了命名转换器,用于key的转换
public NeoMap putAll(NeoMap sourceMap, NamingChg namingChg) {}

2.NeoMap获取固定列

// 这是一个NeoMap只保留指定的列,并生成一个新的NeoMap
public NeoMap assign(Columns columns) {}

3.NeoMap列添加前缀

有些时候我们需要给NaoMap中的列添加一些前缀

// 给所有的key添加前缀,比如给所有的列添加"x_"
public NeoMap setKeyPre(String preFix) {}

4.NeoMap列转换

key进行转换

5.判空

判空这里可以对NeoMap判空也可以对集合判空

6.获取不同的列值类型

由于NeoMap的value是Object类型,因此获取值之后还是要进行转换,这里借鉴之前的Orm框架,根据类型获取不同类型的值

对于上面的获取,其中需要注意的是,对于有Class tClass参数的函数,其中tClass可以不是原先存储的类型,只要原类型可以转换为的类型即可,如下例子

其中其他的几个跟Class有关的函数也是一样的,也是可以转换为对应的兼容类型的,比如:

getList, getSet,getNeoMap

兼容类型:

原类型

可以兼容的类型

说明

NeoMap

自定义类型

自定义类型里面属性只要包含NeoMap中的key相同即可

自定义类型

NeoMap

非String的基本类型

String

String

枚举类型

只要值和枚举中的值相同即可转换

String

Boolean

只有原类型的值为true或者false才行

String

Character

取String的第一个字符

String

Byte, Short, Integer, Long, Float, Double

字符串是数字字符才可转换

非集合,非枚举,非数组的普通类型

NeoMap

对应的就是getNeoMap()函数

java.sql.Date, java.sql.Time, java.sql.TimeStamp, java.utl.Date

Long

对应函数:get(Long.class, String key)和getLong(String key)

7.多表的列使用

在下面介绍的join中有种场景是多表关联,而多表关联,则需要用到多个表的搜索条件,那么多表的搜索条件应该如何使用,如果按照上面的通常情况下,那么就可能会像这样使用。

我们可以看到,在列和表更多的时候,写起来特别麻烦,而且里面很多key的字段有些都是相同的,那么因此就做了如下的设计,下面的效果与上面的完全一致

新增了静态函数和几个非静态函数,全部都支持链式写法

Last updated

Was this helpful?