增加

增加数据这里有如下这么几种方式

public NeoMap insert(String tableName, NeoMap valueMap) {}
public <T> T insert(String tableName, T entity) {}
public <T> T insert(String tableName, T entity, NamingChg naming) {}

参数详解

  • tableName:表名

  • valueMap:是表中要插入的数据,其中NeoMap是自定义的Map<String, Object>结构,可实现多种常见的功能,详见下面的NeoMap介绍

  • NamingChg:是实体entity的属性名字和NeoMapkey字段名字的相互映射,转换类型详见下面的介绍

参数

类型

详解

tableName

String

表名

valueMap

NeoMap

待插入的数据

entity

T

待插入的数据,作为实体类型插入

namingChg

NamingChg

待插入的数据,通过该字符转换可以跟数据库字段对应上

注意: 其中NeoMap作为参数和T entity作为参数是一样的,下面的所有函数都是一样,T entity可以跟NeoMap相互转换,其中转换方式是namingChg,对于默认情况下,是keyentity的属性是完全对应的。

自增属性支持

对于自增属性的支持,这里是默认支持,如果对应的表格的字段是主键且是自增字段,则插入之后,返回的值是含有生成的id的。 比如:

CREATE TABLE `neo_table1` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `group` char(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '数据来源组,外键关联lk_config_group',
  `name` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '任务name',
  `user_name` varchar(24) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '修改人名字',
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `group_index` (`group`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

测试插入:

@Test
@SneakyThrows
public void testInsert1(){
  NeoMap result = neo.insert(TABLE_NAME, NeoMap.of("group", "ok"));
  // {group=ok, id=14, name=}
  show(result);
}

Last updated