springboot整合mybatis-plus手动配置
1、添加依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> <!--mybatisplus融合--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </exclusion> </exclusions> </dependency>
<!--若上面不加spring-boot-starter-jdbc过滤,则不需要下面的配置-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
2、添加代码开发
import com.alibaba.druid.pool.DruidDataSource; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import javax.sql.DataSource; /** * db数据源配置 **/ @Configuration @MapperScan(basePackages = "com.dao.mapper", sqlSessionFactoryRef = "dbSqlSessionFactory") @Slf4j public class DataSourceConfig { @Value("${spring.datasource.db.url}") private String dbUrl; @Value("${spring.datasource.db.password}") private String password; @Value("${spring.datasource.db.username}") private String username; /** * 包名 */ private static final String TypeAliasesPackage = "com.dao.domain"; /** * mapper扫面包路径,这种是放在resources下的config目录下 */ private static final String MapperLocations = "classpath*:mapper/*.xml";
/** * mapper扫面包路径,这种是直接放在项目包下 */
private static final String MapperLocations = "classpath:cn/mapper/*.xml";
//注意:若配置在项目下,而不是resources下,打包是打不进来的,需要在pom中,指定xml的位置,并打包进入jar包中
配置如下:
//
<!--mapper.xml需要指定下-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
@Primary @Bean("dbDataSource") @ConfigurationProperties(prefix = "spring.datasource.db") public DataSource getDbDataSource() { log.info("数据库环境配置地址.{}",dbUrl); log.info("数据库环境配置用户名.{}",username); log.info("数据库环境配置密码.{}",password); return new DruidDataSource(); //return DataSourceBuilder.create().build(); } @Primary @Bean("dbSqlSessionFactory") public SqlSessionFactory dbSqlSessionFactory(@Qualifier("dbDataSource") DataSource dataSource) throws Exception { //SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setTypeAliasesPackage(TypeAliasesPackage); bean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:/config/mybatis-config.xml")); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MapperLocations)); return bean.getObject(); } @Primary @Bean("dbSqlSessionTemplate") public SqlSessionTemplate dbSqlSessionTemplate(@Qualifier("dbSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
3 添加相关依赖
在:resources目录下,创建:mybatis-config.xml
然后添加如下代码:配置mybatis的驼峰命名等
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true" /> </settings> </configuration>
整合多数据源三种方式:
https://blog.csdn.net/qq_40352912/article/details/135721765