您的位置:首页 > 编程语言 > Java开发

Spring-boot添加Mybatis

2016-05-12 15:52 453 查看
在Spring-boot里添加Mybatis需要添加

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>

然后在配置类上添加MapperScan注解,自动扫描mapper接口

@MapperScan("package-info")

需要事务管理的话可以添加 @EnableTransactionManagement 注解,spring自动会配置事务

然后必须手动配置 Mybatis 的 SqlSessionFactory

@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会自动注入DataSource

然后在application.properties里添加DataSource信息

配置信息如下 :

# 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 连接池

如果想使用HikariCP的话 在引用 spring-boot-starter-jdbc时排除tomcat-jdbc就好了

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: