springBoot与MyBatis整合示例

原创 2017年01月03日 21:44:22

springBoot与MyBatis整合示例

MyBatis的配置的一般步骤:

  1. 数据源的配置
  2. 配置MyBatis的映射xml
  3. 配置mybatis的sqlSessionFactory

Mybatis的相关jar

以下是gradle的引jar的包的方式:

complie "org.springframework.boot:
spring-boot-starter-jdbc:1.2.3.RELEASE"
compile "org.mybatis:mybatis:3.2.8"
compile "org.mybatis:mybatis-spring:1.2.1"
compile "com.alibaba:druid:1.0.13"
compile "mysql:mysql-connector-java:5.1.35"
compile "com.alibaba:fastjson:1.1.41"

使用springBoot的最大好处是可以使用javaConfig来配置属性,其实它类似与spring中的xml配置,在springBoot中可以使用yml文件来配置一些属性,下面就是用yml来配置数据源和mybatis的xml映射关系的:application.yml,配置如下:

druid:
  dataSource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 
    initialSize: 5
    maxActive: 200
    minIdle: 5
    maxWait: 60000
    validationQuery: SELECT 1 FROM DUAL
    removeAbandoned: true
    removeAbandonedTimeout: 180
    mapperLocations: classpath*:com.mapper.*/ *Mapper.xml    

以下是javaConfig的配置

1.首先创建个DataSourceSettings来加载数据库的来源:

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.
ConfigurationProperties;

/**
 * Created by tangxiewen on 2016/5/31.
 */
@ConfigurationProperties(prefix =       DataSourceSettings.PREFIX)
public class DataSourceSettings extends     DruidDataSource {
  public static final String PREFIX = "druid.dataSource";

private String mapperLocations;

public String getMapperLocations() {
    return mapperLocations;
}

public void setMapperLocations(String mapperLocations) {
    this.mapperLocations = mapperLocations;
}
}

2.在创建个DataSourceAutoConfiguration用于注册SqlSessionFactoryBean,源码如下:

import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import  org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import  org.springframework.context.annotation.Configuration;

import java.io.IOException;

/**
 * Created by tangxiewen on 2016/5/31.
 */
    @Configuration
@MapperScan(basePackages = {"com.mapper"})
@EnableConfigurationProperties(DataSourceSettings.class)
public class DataSourceAutoConfiguration {
private static final Logger logger =    LoggerFactory.getLogger(DataSourceAutoConfiguration.class);

@Autowired
DataSourceSettings settings;

@Bean
public SqlSessionFactoryBean sqlSessionFactory(ApplicationContext applicationContext) throws IOException {
    SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
    sqlSessionFactory.setDataSource(settings);
    sqlSessionFactory.setMapperLocations(applicationContext.getResources(settings.getMapperLocations()));
    return sqlSessionFactory;
}
}

最后要在src/main/resources/创建一个META-INF文件夹在里面放置一个spring.factories文件,主要用于告知springBoot用我们的配置代替默认的配置
org.springframework.boot.autoconfigure.EnableAutoConfigur ation=\com.jdbc.DataSourceAutoConfiguration

等于后面是类的全类名的形式即包名+类名

注意点

就是用使用myBatis时mapper中的java类和xml的包名要一致,还是就是用idea注意一下他的包结构,不然会报绑定错误!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Springboot 整合 Mybatis 的完整 Web 案例

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 推荐一本书《腾讯传》。 新年第一篇 Springboot 技术文诞生。泥瓦匠...

springboot整合mybatis最简单的例子

看下了springboot官网的例子,只有一个hello的简单例子,没有整合mybaits相关。   然后在网上找到了很多想找一个整合的demo程序,都觉得太冗余,不适合学习。不说废话,下...

springboot与mybatis整合实例详解(完美融合)

springboot大家都知道了,搭建一个spring框架只需要秒秒钟。下面给大家介绍一下springboot与mybatis的完美融合:        首先:创建一个名为springboot-...
  • DJJT10
  • DJJT10
  • 2017年01月09日 10:55
  • 117

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

后端之路一:搭建简单服务器(SpringBoot+Gradle实现通用Mapper)

本文使用SpringBoot+Gradle+Mybatis构建一个简单的服务器代码Demo
  • Afanuse
  • Afanuse
  • 2016年12月14日 20:56
  • 1950

使用 Gradle 构建工具实现 Spring 集成 MyBatis (使用 Java 注解方式)

使用 Gradle 构建工具实现 Spring 集成 MyBatis (使用 Java 注解方式)1、添加依赖compile 'org.springframework:spring-core:4.1....

MyBatis springboot gradle 开发配置

MyBatis springboot gradle

Spring Boot 集成mybatis(gradle)

springboot-集成mybatis
  • Inke88
  • Inke88
  • 2017年07月07日 18:54
  • 363

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:springBoot与MyBatis整合示例
举报原因:
原因补充:

(最多只允许输入30个字)