在Spring-boot里添加Mybatis须要添加mysql
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
而后在配置类上添加MapperScan注解,自动扫描mapper接口spring
@MapperScan("package-info")sql
须要事务管理的话能够添加 @EnableTransactionManagement 注解,spring自动会配置事务apache
而后必须手动配置 Mybatis 的 SqlSessionFactorytomcat
@Bean public SqlSessionFactory sqlSessionFactoryBean(DataSource ds) throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); // 设置数据源 sqlSessionFactoryBean.setDataSource(ds); // 设置查找器 PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); // 自动扫描mybatis文件 sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml")); return sqlSessionFactoryBean.getObject(); }
Spring会自动注入DataSourcemybatis
而后在application.properties里添加DataSource信息app
配置信息以下 : spring-boot
# DataSource spring.datasource.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull spring.datasource.username = root spring.datasource.password = root spring.datasource.driverClassName = com.mysql.jdbc.Driver # JDBC Pool spring.datasource.poolName = hikariCP spring.datasource.maximumPoolSize = 25 spring.datasource.minimumIdle = 3 spring.datasource.connectionTimeout = 30000 spring.datasource.idleTimeout = 30000 spring.datasource.pool-prepared-statements = true spring.datasource.max-open-prepared-statements = 250
默认是用Tomcat 链接池 url
若是想使用HikariCP的话 在引用 spring-boot-starter-jdbc时排除tomcat-jdbc就行了spa
pom文件以下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <!-- 取消引入tomcat jdbc --> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </exclusion> </exclusions> </dependency> <!--引入 HikariCP--> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </dependency>