2023-07-26
|
ZH
标准的url中一般是这样http://127.0.0.1/list?id=1&id=2&id=3 或者用form表表单提交三个name=id的input 也可以提交json格式{id:[1,2,3]} 以上三种情况condition("ID:[id]")都可以解析成WHERE I
2023-07-27
|
ZH
在多数据源的情况下会生成多个事务管理器。 为了更强的隔离性。否则数据源切换过程中,不好跟踪事务,如果遇到线程共享时,切换数据源也有可能失败,那事务管理器肯定就乱了。 为了在切换数据源过程中,保持事务状态。就是不要因为切换数据源,而把上一个事务强制提交或回滚。
2023-07-27
|
ZH
在存多数据源的情况下会创建多个事务管理器【为会么要创建多个事务管理器】 事务管理器在spring上下文环境中的命名也就是bean.name 如在默认数据源之外 又创建多个数据源a,b,c spring会针对默认数据生成一个默认事务管理器:transactionManager anyline
2023-07-29
|
ZH
//查询表结构时,默认会查询DDL Table table = service.metadata().table("CRM_USER") List ddls = table.ddls(); 对于确认只有一条SQL的数据库可以 String ddl = table.ddl(
2023-08-04
|
ZH
对于非基础类型属性,在数据库可以用json类型。 在插入或更新数据时会把属性值转换成json格式,同样的读取数据时也会把json格式还原成属性对应的数据类型。 需要注意的是,在插入数据时数据需要先知道数据库中是JSON类型才会转换。 这样就需要开启一个开关,来保证插入数据前先检查数据库结构。当然这个
2023-08-04
|
ZH
通常情况下通过配置文件设置一个统一的主键生成器就可以,但如果有一部分表需要单独设置 一种方式是可以通过配置文件单独指定 另一种方式可以通过注解设置 另外一些属性的关联表的主键生成器也可以通过注解设置,这种情况比较特殊在其他JPA中一般不这样用 @Table(name="HR_EMPLOYEE")
2023-08-04
|
ZH
理由是在用到的时候JAVA和配置文件里都可以临时写。 如果数据量不大,结构不复杂,数据不敏感,只是显示个列表或明细确实没什么大问题。 但是以下实际情况簇不是这样: 既然都需要写SQL了复杂度还是有点的 当然不能拿那些helloworld说事,那些SQL都是多余的
2023-08-05
|
ZH
getColumns返回的是DataRow中查询出来的列属性 getMetadatas返回的是整个表的列属性 如CRM_USER表中有三列,ID,NAME,AGE DataRow row = service.query("CRM_USER(ID,NAME)"); 这时getMetadatas会返回3
2023-08-06
|
ZH
DriverAdapter用来适配不同的数据源驱动,根据数据源类型生成不同的执行命令(如果是支持JDBC的数据源就是SQL和参数) 多数据源适配过程: 系统启动时会把pom中依赖的所有adapter注册到spring上下文环境中 注册数据源时会定义一个key,切换时根据这个key切换 在执行生成
2023-08-07
|
ZH
如数据库中原来有3列,C1,C2,C3 保存结构时只提供了C3,C5 在默认情况下 修改C3,添加C5 C1,C2保持不变 打开 ConfigTable.IS_DDL_AUTO_DROP_COLUMN = true 删除C1,C2 修改C3,添加C5