也可以实现
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>
推荐阅读
-
-
军事第N区|欧洲要闻速览|俄罗斯资助塔利班击杀美军?入境希腊需提前48小时填表
-
-
-
中国军魂沦落为病毒帮凶难道不羞耻吗?,国际时评|质问美国政客
-
星座小可爱|财运开花,正财四面汇聚的生肖,9月上旬吉星照耀
-
-
-
-
虎扑|并送至尼克斯,雷霆用25号签选择伊曼纽尔-奎克利
-
-
-
「阿涛哥励志」请您听我一声劝,1965以前出生55岁以上的中老年朋友
-
每天放松一笑|竟然这样玩,真担心你们掉下去了!,搞笑gif-胆子真大
-
【洋葱去讲娱乐】人红有原因的,关晓彤高中就被人追求?看她在合照中的站姿就懂了
-
-
【普拉达女王】露脐装搭配黑色西装外套,衣品开挂美腻了,21宋祖儿身材逆天
-
[沈梦辰]沈梦辰秒变西装“大佬”!齐刘海换侧分发型像换了个人
-
处理|用8毛一斤的次等水蜜桃酿酒好喝吗?网友回复:小心甲醛中毒
-