也可以实现
org.apache.ibatis.datasource.DataSourceFactory接口来自定义数据源实现 , 然后进行配置
配置数据库厂商标识 databaseIdProvidermybatis可以根据不同的数据库厂商执行不同的语句 , 基于映射语句中的databaseId属性 。mybatis会加载带有匹配当前数据库databaseId属性个所有不带databaseId属性的语句 。如果同时找到带有databaseId的不带databaseId的相同语句 , 后者会被舍弃
<!-- 数据库厂商标识 --><databaseIdProvider type="DB_VENDOR"><!-- name为使用DatabaseMetaData#getDatabaseProductName()返回的厂商名称value为所设置的别名,使用databaseId时使用别名即可 --><property name="MySQL" value=https://www.isolves.com/it/cxkf/kj/2021-03-12/"mysql"/>在mapper.xml中可以配置不同数据库的sql语句
<!-- 查询数据的方法 --><!-- mysql --><select id="selectUser" resultType="User" databaseId="mysql">select * from users where id = #{id}</select><!-- oracle --><select id="selectUser" resultType="User" databaseId="oracle">select * from users where id = #{id}</select>可以实现
org.apache.ibatis.mapping.DatabaseIdProvider接口自定义DatabaseIdProvider
配置映射器mappers将写好的sql映射文件(mapper.xml)注册到全局配置文件中
<!-- mapper配置 --><mappers><!-- resource引入类路径下的资源--><mapper resource="mapper/UserMapper.xml"/><!-- url引入网络或者磁盘路径下的sql映射文件 --><mapper url=""/><!-- class基于注解的方式 , 注册类文件 --><mapper class="com.zhanghe.study.mybatis.mapper.UserMapper"/><!-- 批量注册 注册整个包下的--><package name="com.zhanghe.study.mybatis.mapper"/></mappers>
推荐阅读
-
-
-
保罗|保罗谈举报电话都是他打的梗 : 我老婆不说我都不知道这事
-
贵州都市报|之后发生的事…令人崩溃,95后闺蜜俩恋上“极品高端男友”
-
非娱勿扰|吴宣仪黄新淳进小学代课,表情管理经常失控,才知老师有多难当
-
-
Aggro电竞|T1AD选手被禁赛,罚款50W加上服务社会,水友:LPL学一下
-
古风科技|如今跪地给婆婆洗脚,被继子扇耳光!,为嫁豪门放弃向上的事业
-
执笔聊游戏|忽然变“良心”?终于不用点券去抽皮肤了,“吃鸡”6.17更新后
-
-
西安地区买车可以从北京或者其他优惠高的城市提车么车咋发过来
-
策略|八大券商2021年A股策略出炉:科技、消费、顺周期等三主线成布局重点
-
全球|全球数字经济超30万亿美元,德、英三产数字化渗透率最高
-
-
-
-
扬子晚报|送重症妻子就医,丈夫被查出醉驾,法院却判定不负刑责,为啥? 多方调查取证认定符合“紧急避险”
-
童婳的故事|无儿女还患癌,与导演恋爱20年无名无份!她是古装第一美人
-
【山东商报】孩子多次住院曾跪地挨饿吃卫生纸,4岁女童遭继母虐待致重伤进ICU
-