欢迎来到铁网珊瑚网

铁网珊瑚网

美国又一盟友力挺华为:不会威胁国家安全

时间:2025-03-05 09:03:03 出处:李允宰阅读(143)

其间黄建荣作为公司董事长,美国盟友未能忠诚、勤勉地实行职责,阻止上市公司实行信息发表职责,对上述行为负有首要职责。

结合注释咱们解释一下SqlSourceDecorator的逻辑,力挺其间用到了Java反射相关的操作。完成逻辑SqlSource是读取XML中SQL内容并将其发送给数据库履行的目标,威胁假如咱们在履行前能阻拦到该目标,并将其间的SQL替换掉便达成了咱们的意图。

美国又一盟友力挺华为:不会威胁国家安全

假如咱们能在SQL履行前将SQL中一切的表名前拼接上对应的库名的话,安全那么就可以完成数据源的切换了,安全下面咱们讲一下运用JSqlParser和Mybatis阻拦器完成该逻辑,凭借JSqlParser首要是为了解析SQL,找到其间一切的表名进行拼接,假如咱们有更好的完成办法,该组件并不是有必要的。作者:美国盟友京东稳妥王奕龙物流的分拣事务在某些分拣场所只要一个数据源,美国盟友由于数据量比较大,将一切数据存在一张表内查询速度慢,也为了做不同设备数据的分库办理,便在这个数据源内创建了多个不同库名但表完全相同的数据库现在需求上线报表服务来查询一切数据库中的数据进行计算,那么现在的问题来了,该怎么满意在装备一个数据源的状况下来查询该数据源下不同数据库的数据呢,凭借搜索引擎查到的分库完成大多是凭借Sharding-JDBC结构,装备多个数据源依据分库算法完成数据源的切换,可是关于只要一个数据源的体系来说,我觉得引进结构再将单个数据源依据不同的库名装备成多个不同的数据源来完成分库查询的逻辑我觉得并不好。首要经过反射获取到SQL,力挺getSpecificDBName办法是需求自界说完成的,力挺其间parameterObject目标是传到DAO层履行查询时的参数,在咱们的事务中是可以依据其间的设备相关参数拿到对应的所在库名的,而设备和详细库名的映射联系需求提早初始化好。

美国又一盟友力挺华为:不会威胁国家安全

其间包含着必要的履行逻辑,威胁咱们需求做的作业就是在这些逻辑履行完之后,威胁对SQL进行改造,所以这次完成咱们运用了装修器形式,在本来的SqlSource上套一层,履行完SqlSource自身的办法之后对其进行增强,代码如下:publicabstractclassAbstractDBNameInterceptor{/***SqlSource的装修器,作用是增强了getBoundSql办法,在基础上增加了动态分库的逻辑*/staticclassSqlSourceDecoratorimplementsSqlSource{/***SQL字段称号*/privatestaticfinalStringSQL_FIELD_NAME=sql;/***本来的sqlsource*/privatefinalSqlSourcesqlSource;/***装修器进行封装*/publicSqlSourceDecorator(SqlSourcesqlSource){this.sqlSource=sqlSource;}@OverridepublicBoundSqlgetBoundSql(ObjectparameterObject){try{//先生成出未修正前的SQLBoundSqlboundSql=sqlSource.getBoundSql(parameterObject);//获取数据库名StringdbName=getSpecificDBName(parameterObject);//有用才修正if(isValid(dbName)){//生成需求修正完库名的SQLStringtargetSQL=getRequiredSqlWithSpecificDBName(boundSql,dbName);//更新SQLupdateSql(boundSql,targetSQL);}returnboundSql;}catch(Exceptione){thrownewRuntimeException(e);}}/***校验是否为有用库名*/privatebooleanisValid(StringdbName){returnStringUtils.isNotEmpty(dbName)&&!null.equals(dbName);}/***获取到咱们想要的库名的SQL*/privateStringgetRequiredSqlWithSpecificDBName(BoundSqlboundSql,StringdbName)throwsJSQLParserException{StringoriginSql=boundSql.getSql();//获取一切的表名Settables=TablesNamesFinder.findTables(originSql);for(Stringtable:tables){originSql=originSql.replaceAll(table,dbName+.+table);}returnoriginSql;}/***修正SQL*/privatevoidupdateSql(BoundSqlboundSql,Stringsql)throwsNoSuchFieldException,IllegalAccessException{//经过反射修正sql句子Fieldfield=boundSql.getClass().getDeclaredField(SQL_FIELD_NAME);field.setAccessible(true);field.set(boundSql,sql);}}//...}界说了AbstractDBNameInterceptor笼统类是为了完成复用,并将SqlSourceDecorator装修器界说为静态内部类,这样的话,将一切逻辑都封装在笼统类内部,之后这部分完成好后研制直接完成笼统类的通用办法即可,不用重视它的内部完成我国新闻网此前,安全12月4日下午1时22分许,琼瑶在台湾新北市淡水区的家中轻生身亡,终年86岁。

美国又一盟友力挺华为:不会威胁国家安全

台媒TVBS家祭完毕之后,美国盟友现场传出《还珠格格》的片头曲《当》,家族跟着礼仪人员的列队一同送她到火化场。

1998年首播的电视剧著作《还珠格格》更在东亚区域享誉盛名,力挺不仅在我国大陆、台湾、香港等地获得收视冠军,在日韩和东南亚等地也深受欢迎。图源:威胁外交部网站毛宁回应,详细我国驻韩国大使履新的状况,主张你重视我国外交部网站的更新。

韩国新一社记者发问,安全据韩国媒体报道,新任我国驻韩国大使或许将于本月赴韩国履新面临商场应战,美国盟友中禾宝桑企业深入分析健康饮食的发展趋势,特别是越来越受群众欢迎的药食同源类产品。

信任,力挺中禾宝桑继续以顾客需求为导向,力挺不断立异,将会推出更多口味丰厚、健康养分的新品,提高产品的差异化和竞争力,继续引领健康饮品新风尚。据悉,威胁中禾宝桑是一家专心于天然产品研制与产业化的高科技企业,威胁一直据守高质量标准,从质料挑选到出产工艺,都做到精雕细镂,这皆得益于企业春蚕精力、诚信敬业与立异逾越三大中心价值观的引领。

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: