美文网首页
Spring Boot集成Mybatis

Spring Boot集成Mybatis

作者: Xiewb | 来源:发表于2019-04-27 22:39 被阅读0次

pom添加依赖

<!-- Mybatis集成 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.2.0</version>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Druid数据源 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.26</version>
</dependency>

方式一

application.yml中配置数据源与mapper文件路径
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    # 使用druid数据源,若不配置type会用默认的Tomcat数据源
    type: com.alibaba.druid.pool.DruidDataSource  
mybatis:
  mapper-locations: com/**/dao/*.xml
DAO接口贴上@Mapper注解,即可让Spring容器创建实例

方式二

在resources目录下新建datasource.properties文件
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=123456
jdbc.url=jdbc:mysql://127.0.0.1:3306/test
通过配置类,配置Mybatis
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;

import javax.sql.DataSource;
import java.io.IOException;
import java.util.Properties;

@Configuration
@MapperScan(basePackages="com.**.dao")
@PropertySource("classpath:datasource.properties")
public class MybatisConfig {
    @Value("${jdbc.driverClassName}")
    private String driverClassName;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
    @Value("${jdbc.url}")
    private String url;
    
    @Bean
    public DataSource dataSource() throws Exception {
        Properties prop = new Properties();
        prop.put("driverClassName",driverClassName);
        prop.put("username",username);
        prop.put("password",password);
        prop.put("url",url);
        return DruidDataSourceFactory.createDataSource(prop);
    }

    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource)
            throws IOException {
        SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
        sqlSessionFactory.setDataSource(dataSource);
        ResourcePatternResolver res = new PathMatchingResourcePatternResolver();
        sqlSessionFactory.setMapperLocations(
                res.getResources("classpath:com/**/dao/*.xml"));
        return sqlSessionFactory;
    }
}

相关文章

网友评论

      本文标题:Spring Boot集成Mybatis

      本文链接:https://www.haomeiwen.com/subject/jeylnqtx.html