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注意一下他的包结构,不然会报绑定错误!!!

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

spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架

前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用...
  • eguid_1
  • eguid_1
  • 2016年09月20日 23:07
  • 5611

SpringBoot学习笔记(4) Spring Boot 集成 Mybatis

Mybatis 官方提供了 mybatis-spring-boot-starter https://github.com/mybatis/spring-boot-starter http://www...
  • a67474506
  • a67474506
  • 2016年07月24日 14:14
  • 43560

Spring Boot 实用MyBatis做数据库操作

前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用...
  • he90227
  • he90227
  • 2016年11月24日 18:13
  • 4525

Spring Boot 集成mybatis(gradle)

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

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

使用 Gradle 构建工具实现 Spring 集成 MyBatis (使用 Java 注解方式)1、添加依赖compile 'org.springframework:spring-core:4.1....
  • lw_power
  • lw_power
  • 2015年07月30日 20:05
  • 3542

MyBatis springboot gradle 开发配置

MyBatis springboot gradle
  • luozuolincool
  • luozuolincool
  • 2016年04月21日 18:48
  • 4885

Springboot中使用mybatis连接mysql数据库

在springboot中使用mybatis连接数据库,mybatis官网给了两种demo,一种是使用xml配置,一种是使用注解的方式。在这里我使用的是注解的方式。在使用mybatis注解配置的时候,参...
  • u012247397
  • u012247397
  • 2016年09月10日 01:57
  • 7896

Spring Boot MyBatis 连接数据库

最近比较忙,没来得及抽时间把MyBatis的集成发出来,其实mybatis官网在2015年11月底就已经发布了对SpringBoot集成的Release版本,Github上有代码:https://gi...
  • catoop
  • catoop
  • 2016年01月21日 10:50
  • 62141

springboot整合mybatis最简单的例子

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

SpringBoot整合MyBatis例子

1、pom.xml
  • ryelqy
  • ryelqy
  • 2017年11月06日 21:43
  • 209
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:springBoot与MyBatis整合示例
举报原因:
原因补充:

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