数据库访问封装
2021-10-30 09:14:22 11 举报
数据库访问封装
作者其他创作
大纲/内容
DruidDataSourceFactory
+ init(act_db actDb) : DruidDataSource- testConnect(act_db actDb) : boolean
《interface》MeterOriginValueDao
cn.com.nla.dao.mapper.config
《interface》ActInfoDao
拦截
DefaultDbConfig
- url : String- username : String- password : String- driver : String
- dataSource() : DruidDataSource+dataSourceConfig() : DynamicDataSource+sqlSessionFactory() : SqlSessionFactory
cn.com.nla.dao.mapper.relation
cn.com.nla.dao.mapper.meterbase
......
DynamicDataSourceAspect
@Bean将DynamicDataSource注入IOC容器,并将默认数据源加入连接池中。
生成数据源唯一key:act_id+tag
《interface》AlarmRecDao
aop,拦截指定的包请求
spring框架封装的jdbc处理对象。执行数据库操作前会触发determineCurrentLookupKey方法查找当前指定的数据源
当前线程请求的数据源切换
《interface》BaseMapper<T>
+insert(T entity) : int+deleteById(Serializable id) : int......
根据application.yml中的数据源信息。调用DruidDataSourceFactory生成DruidDataSource
DbContextHolder
- CONTEXT_HOLDER : ThreadLocal<String>
+setDataSource(String dataSource)+getDataSource() : String+clearDataSource()
@Bean将SqlSessionFactory注入IOC容器。
act_db
- id : Integer- tag : String- url : String- user : String- pwd : String- driver : String- is_root : Boolean- act_id : Integer
+getKey() : String
DynamicDataSource
《interface》MeterBaseValueDao
类注解:@Configuration@MapperScan(basePackages = {\"cn.com.nla.dao.mapper.*\"})指定扫描Mapper接口文件
管理当前线程中的数据源key
AbstractRoutingDataSource
cn.com.nla.dao.mapper.maintenance
cn.com.nla.dao.mapper.meterorigin
《interface》RelationValueDao
0 条评论
下一页