2023-10-10
|
ZH
在insert/update时如果提供的是List<Map>或Map参数时有可能因为Map的key与列名不一致导致取值失败的问题。因为map严格区分大小写,put("id",1)用get("ID")当然是取不出来了 如果大小写不一致,可以转换成DataSet<DataRow>
2023-10-12
|
ZH
当执行 INSERT 操作时,如果数据表中不存在对应的记录,执行插入操作;如果数据表中存在对应的记录,则执行更新操作 是否存在可以根据 1.指定列判断 或者2 唯一约束名 Table table = service.metadata().table("CRM_USER"); if(
2023-10-16
|
ZH
public static void override() throws Exception{ String tab = "tab_override"; Table table = service.metadata().table(tab); if(null != table){ serv
2023-10-16
|
ZH
发现有个项目里这样写 String sql = SELECT * FROM CRM_USER LIMIT (:page) OFFSET (:page-1)*:vol service.querys(sql, configs) 在Pg里可以正常执行,但返回的DataSet中不包含分页的Pgae
2023-10-16
|
ZH
DataSet set service.querys(table, condition(true)); //分页,参数根据配置文件或PageNaviConfig 当前页数会提取http中的参数 PageNavi navi = set.getNavi(); navi.getTotalPage
2023-10-20
|
ZH
service.insert(table, set, new DefaultConfigStore().override(true, "ID")); service.insert(table, set, new DefaultConfigStore().override(false, "ID"))
2023-10-21
|
ZH
在数据中台、数据同步场景中经常有这种需求,如果数量少可以清空后再全量同步一次,这样最省心。也可以插入前检测一下数据是否存在。 在如果数量很大,以方式显然不可取,如果自己实现一般是通过索引(性能)+存储过程(一次交互)实现 当然许多数据库都对这种场景提供了原生支持。用过ORM实现过这种
2023-11-14
|
ZH
ConfigTable中变量比较多,项目中也经常用到。 但DataRow中有几个静态变量用的比较少如DEFAULT_KEY_CASE 注意在设置的时候尽量放在Spring启动之前 ConfigTable放在DataRow之前,因为DataRow静态变量初始前会引用到ConfigTable
2023-11-10
|
ZH
Table table = service.metadata().table("user_master", false); if(null != table){ service.ddl().drop(table); } MasterTable master = new MasterTable("u
2023-11-10
|
ZH
进口数据多个国别,多个年份,原始结构如下 ID 年份 国别 品类 金额 1 2001 法国