Sprinboot创建web项目集成mybatis+mysql+druid

Sprinboot创建web项目集成mybatis+mysql+druid

一、创建工程的方法

方法1: 使用 https://start.spring.io/ 创建工程,在web页面进行工程的创建,然后下载工程的压缩包,解压后导入开发工具。操作如下图所示:

方法2: 使用开发者工具创建工程,示例使用的是idea开发者工具。idea开发者工具使用自己的图形界面进行工程的创建,最终也是从spring.io站点下载相应的工程压缩包,解压后打开。操作上会比从web页面上操作方便此,推荐使用这种方式创建工程。如下图所示:

二、确认pom文件依赖


        
            mysql
            mysql-connector-java
            runtime
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.2
        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.21
        

注:缺少的依赖可以手动添加一下,如:创建工程的时候没有选择druid的依赖,需要手工添加如下依赖到pom.xml文件中:

 
            com.alibaba
            druid-spring-boot-starter
            1.1.21

三、在application.properties配置文件中添加数据源配置信息

server.port=8080
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=Aa123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

四、配置datasource数据源

创建数据源配置文件:DataSourceConfig.java,代码如下:

package com.ppdai.qa.learningspringboot.config;

import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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;

/**
 * @author kongbin02
 */
@Configuration
@MapperScan(value = "com.bin.kong.learningspringboot.dao", sqlSessionFactoryRef = "sqlSessionFactoryBeanLeaningSpringboot")
public class DataSourceConfig {
    @Primary
    @Bean
    @ConfigurationProperties("spring.datasource")
    public DataSource dasLearningSpringBoot() {
        return DruidDataSourceBuilder.create().build();
    }

    @Autowired
    @Qualifier("dasLearningSpringBoot")
    DataSource dasLearningSpringBoot;

    @Bean
    SqlSessionFactory sqlSessionFactoryBeanLeaningSpringboot() throws Exception {
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dasLearningSpringBoot);
        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/*.xml"));

        return factoryBean.getObject();
    }

    @Bean
    SqlSessionTemplate sqlSessionTemplateLeaningSpringboot() throws Exception {
        return new SqlSessionTemplate(sqlSessionFactoryBeanLeaningSpringboot());
    }

}

注:

  1. com.bin.kong.learningspringboot.dao 是工程中创建的Mapper文件的地址,用于扫描注册Mapper
  2. classpath*:/mapper/*.xml 是工程中存储mybatis库表的xml文件,用于建立Mapper中方法与相应SQL语句的映射

你可能感兴趣的:(#,Springboot)