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

posted @ 2024-05-09 11:09  xzlnuli  阅读(38)  评论(0编辑  收藏  举报