1、spring-database.xml文件中配置
<bean id="vendorProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="DB2">db2</prop>
<prop key="Oracle">oracle</prop>
<prop key="MySQL">mysql</prop>
</props>
</property>
</bean>
<bean id="databaseIdProvider" class="org.apache.ibatis.mapping.VendorDatabaseIdProvider">
<property name="properties" ref="vendorProperties"/>
</bean>
对于sessionFactory的配置,主要是标红的语句一定要有,其它按照自己原有的配置走。
<!-- sessionFactory 将spring和mybatis整合 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="databaseIdProvider" ref="databaseIdProvider" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
<property name="mapperLocations"
value="classpath*:/com/sunyard/cop/IF/mybatis/mapping/*.xml" />
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<!--使用下面的方式配置参数,一行配置一个,后面会有所有的参数介绍 -->
<value>
helperDialect=oracle
reasonable=true
supportMethodsArguments=true
params=count=countSql
autoRuntimeDialect=true
</value>
</property>
</bean>
</array>
</property>
</bean>
2、mapper.xml文件中配置
select * from SM_USERS_TB
</select>
select * from SM_USERS_TB
</select>
若写上databaseId = "mysql",则在数据源为mysql类型时,自动执行该SQL语句,若不写databaseId ,且同时存在相同ID的SQL语句,则只要是非mysql数据库的数据源,都会调用该条SQL语句。
本文介绍了如何在 MyBatis 中配置 vendorDatabaseIdProvider,以便在 mapper.xml 文件中根据数据库类型(如 DB2, Oracle, MySQL)选择对应的 SQL 语句。在 spring-database.xml 文件中设置 vendorProperties,并在 SqlSessionFactoryBean 配置中引用,以实现动态选择 SQL。在 mapper.xml 中,可以通过 databaseId 属性来指定特定数据库的 SQL。"
112293161,10295828,SpringBoot启动卡住问题:日志无输出与线程堆栈排查,"['SpringBoot', '故障排查', '日志分析', '依赖管理', '版本匹配']

2292

被折叠的 条评论
为什么被折叠?



