也可以实现
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>
推荐阅读
-
-
最清醒的港姐:小三上位却与原配亲如姐妹,不争产却赚了上亿身家
-
-
鹿晗■2099元!小米10青春版发布:5G+三星A屏,还有潜望式长焦加持
-
椰树集团|“椰树四美”穿羽绒服直播跳操,业内人士:风格改变只是套路
-
|新中式三层四合院,外观华丽大气,四世同堂都可以住
-
店霸 电霸:电商数据分析平台怎么选?拼多多运营怎么做?
-
二木先生说|腾讯被摆了一道?,三人假冒老干妈与腾讯签合同
-
海峡网|陕西遭父亲抱摔幼童死亡怎么回事 事件详情始末来龙去脉令人愤怒
-
-
[皇家马德里]超模女友干的?皇马大将两个月不训练 复赛在即搞骨折 或赛季报销
-
[道路拥堵]限行首日,兰州这几条路段拥堵指数明显下降
-
康波财经|看看能领多少钱,什么是4050补贴?这三类人可以领
-
游泳|2020年汉中市青少年游泳锦标赛在略阳圆满结束
-
「苹果」目前这3款手机公认值得买,一款比一款性价比高,“真香”!
-
-
-
叶峰|猪肉相关板块走弱,34只个股下跌,新希望下跌5.06%
-
-
「Muster电竞」谁用谁知道,王者荣耀:拥有隐藏属性的皮肤