2023-09-19
|
ZH
在生成SQL的过程中,如果没有占位符,数字类型一般可以直接拼接,String类型需要加单引号, 而日期类型有些数据库可以实现隐式转换,加单引号即可,有些数据库不能实现,需要内置函数转换成日期类型 还有些更复杂的类型类byte,json,array,geometry等类型更需要内置函数 如果有占位符
2023-09-17
|
ZH
默认情况下update方法只会更新值有变化的列,可以调用DataSet(DataRow)的 clearUpdateColumns或者 addAllUpdateColumns 更新除了主键之外所有的列
2023-09-14
|
ZH
DataSet querys(String src, ConfigStore configs, Object obj, String... conditions) service中先检测src table中有可能带<数据源>前缀,如hr_user 如
2023-09-14
|
ZH
如果是Map可以转成DataRow row = new DataRow(map): DataRow有setPrimaryKey(String ... pks)方法可以设置主键 也可以在service.querys("crm_user<id,code>")方式设置主键 如果有Config
2023-09-14
|
ZH
动态主要是指在运行时才能明确、编码是不明确。可能出现在 数据源 数据库类型 查询的表 查询列 分页 查询条件 数量: 同一个接口中根据前端参数,根据组合成不同的查询条件,如 service.querys("crm_user", c
2023-09-13
|
ZH
在代代码,运行时自定义场景中,经常会调用不同的方法生成多个ConfigStore也就是多组查询条件 但在调用service.querys时只能接收一个ConfigStore 解决方式: 生成一个ConfigStore 在合成查询条件时把ConfigStore作为参数输入,通过
2023-09-07
|
ZH
返回单行 DataRow row = service.query("CRM_USER", "条件"); User user= service.select(User.class, "条件"); Map map = service.map("CRM_USER", "条件"); 返回多行,在单行方
2023-09-07
|
ZH
EntitySet users = set.entitys(User.class): User = row.entity(User.class); 因为实体类中的属性数据类型限制,一些值会转换失败,可以提前格式化, 如null赋值给int属性时会失败,可以先把集合中所有的空
2024-04-30
|
ZH
通常情况下系统运行时可以根据数据源的一些特征识别出当前数据库的类型,从而定位到适合当前数据库的DriverAdapter(adapter用来处理数据方言)可以用于识别的特征主要是jdbc协议名称,如jdbc:mysql jdbc:postgresql但有许多数据库没有自己的协议直接用了mysql或p
2024-04-29
|
ZH
8.7.2之后需要等上下文全部加载完成后,才注册数据源,runtime,service等 如果通过注解注入需要添加一个@Lazy注解 或者AnylineService service = ServiceProxy.service("数据源名称") 如果只有一个数据源可以直接调用ServiceProx