mybatis读取配置文件工具类 package com.mimidai.app.config;import com.alibaba.druid.pool.DruidDataSourceFactory;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spr
package com.mimidai.app.config;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import java.util.Properties;
import javax.sql.DataSource;
/**
* springboot集成mybatis的基本入口
* 1)创建数据源
* 2)创建SqlSessionFactory
*/
@SuppressWarnings("all")
@Configuration //该注解类似于spring配置文件
@MapperScan(basePackages = "com.mimidai")
public class MyBatisConfig {
@Autowired
private Environment env;
/**
* 创建数据源
*
* @Primary 该注解表示在同一个接口有多个实现类可以注入的时候,默认选择哪一个,而不是让@autowire注解报错
*/
@Bean
public DataSource getDataSource() throws Exception {
Properties props = new Properties();
props.put("driverClassName", env.getProperty("jdbc.driverClassName"));
props.put("url", env.getProperty("jdbc.url"));
props.put("username", env.getProperty("jdbc.username"));
props.put("password", env.getProperty("jdbc.password"));
return DruidDataSourceFactory.createDataSource(props);
}
/**
* 根据数据源创建SqlSessionFactory
*/
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource ds) throws Exception {
SqlSessionFactoryBean fb = new SqlSessionFactoryBean();
fb.setDataSource(ds);
fb.setTypeAliasesPackage(env.getProperty("mybatis.typeAliasesPackage"));
fb.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.mapperLocations")));//指定xml文件位置
return fb.getObject();
}
}
pom文件
application.properties4.0.0 com.mimidai app0.0.1-SNAPSHOT jar app app project for Spring Boot org.springframework.boot spring-boot-starter-parent1.5.6.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starterorg.mybatis.spring.boot mybatis-spring-boot-starter1.3.0 com.alibaba druid1.0.27 mysql mysql-connector-javaruntime org.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-maven-plugin
mybatis.typeAliasesPackage=com.mimidai.app.entity mybatis.mapperLocations=classpath:mapper/*.xml jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://XXXXXXXX?characterEncoding=utf-8 jdbc.username=root jdbc.password=XXXXXXX
