-
[2023-03-31]多数据源切换方式
2023-03-31之前多数据源切换是利用spring提供的AbstractRoutingDataSource为spring返回不同的数据源。 也就是同一个JdbcTemplate需要切换多个DataSource。 应用方式:启动类添加注解@Import(DynamicDataSourceRe -
关于2023-03-31之后数据源切换@Import(DynamicDataSourceRegister.class)
2023-03-31之前多数据源切换是利用spring提供的AbstractRoutingDataSource为spring返回不同的数据源。 也就是同一个JdbcTemplate需要切换多个DataSource。 应用方式:启动类添加注解@Import(DynamicDataSourceReg -
ehcache不生效
先看pom有没有添加依赖org.anyline anyline-data-cache-ehcache 默认缓存
AnylineService默认集成了ehcache缓存、需要先在ehcache.xml中配置缓存 service.query("缓存key","表名","查询条件") 与查询数据库参数一致缓存有效期和刷新频率
如果设置了缓存时间100秒有效,再前90(90%*100)秒内会从缓存中提取数据 第90秒后的第一次也从缓存中提取数据,同时开启子线程刷新缓存metadata缓存
在执行DDL时,需要频繁的读取表结构等元数据,非常耗时,所以会添加一层缓存。 也是就是不会每次都从数据库中读取数据。 以下3种情况会清空缓存: 1.缓存过期 2.执行DDL 3.调用CacheProxy.clear() 这样会存在一个问题。如果表结构还在关于批量执行
JDBC批量执行要求SQL命令是一样的,第行的参数可以不一样。 service的insert,update,save,excute等方法在第一个参数前加一个int batch参数表示批量执行,batch表示每批次执行多少条命令。 如果是自定义的SQL参数需要提供一个二维数组,如 ListSpringBoot环境
添加依赖org.anyline anyline-mvc& 多数据源事务控制
这里说的是有多个数据源,并且多个数据源需要控制事务。【为会么要创建多个事务管理器】 如果然后有多个数据源,但只需要控制主数据源的事务,不要往下看只需要参考【多数据源注解事务异常】 分两种情况说明 一、需要控制事务的方法内部不需要切换数据源。并且编码阶段已经可以确认是哪个数据源设置SQL执行的超时时间
//设置SQL执行的超时时间(毫秒) ConfigTable.SQL_QUERY_TIMEOUT = 1; ConfigTable.SQL_UPDATE_TIMEOUT = 1;- 如果没有搜索到相关内容,就直接到群里喊一声,很快就有人回复
QQ群(86020680) 或 微信群