Sprinboot创建web项目集成mybatis+mysql+druid
一、创建工程的方法
方法1: 使用 https://start.spring.io/ 创建工程,在web页面进行工程的创建,然后下载工程的压缩包,解压后导入开发工具。操作如下图所示:
方法2: 使用开发者工具创建工程,示例使用的是idea开发者工具。idea开发者工具使用自己的图形界面进行工程的创建,最终也是从spring.io站点下载相应的工程压缩包,解压后打开。操作上会比从web页面上操作方便此,推荐使用这种方式创建工程。如下图所示:
二、确认pom文件依赖
<!--数据库相关依赖 start-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
<!--数据库相关依赖 end-->
注:缺少的依赖可以手动添加一下,如:创建工程的时候没有选择druid的依赖,需要手工添加如下依赖到pom.xml文件中:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
三、在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());
}
}
注:
- com.bin.kong.learningspringboot.dao 是工程中创建的Mapper文件的地址,用于扫描注册Mapper
- classpath*:/mapper/*.xml 是工程中存储mybatis库表的xml文件,用于建立Mapper中方法与相应SQL语句的映射