一、前期准备:配置数据源
我使用的是druid,当然也可以使用其他的。使用方式都类似。
首先,引入需要的jar包。
<!--导入druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.5</version>
</dependency>
<!--导入mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
然后,在application.properties进行配置:
spring.datasource.username=root//配置用户名
spring.datasource.password=123//配置密码
spring.datasource.url=jdbc:mysql://localhost:3306/test2
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource//使用的连接池类型
这样就可以完成dataSource的自动引入。
二、使用mybatis-spring-boot-starter进行整合
首先在pom.xml文件中添加依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
然后在application.properties中添加如下配置:
mybatis.mapper-locations=classpath:mapper/*.xml//指定扫描的mapper文件的位置
然后,在Mapper Interface上添加@Mapper注解:
@Mapper
public interface UserMapper {
public List<User> findAll();
public User findById(Integer id);
public void add(User user);
}
至此就完成了配置,这样配置的好处是简洁
三、传统方式配置
引入所需maven依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.12.RELEASE</version>
</dependency>
然后,通过java 配置方式配置数据源等信息。
先配置sqlSessionFactory,对应于配置文件中的sqlSessionFactory的配置
@Configuration
public class MyBatis {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactoryBean sqlSessionFactory() throws IOException {
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
ResourcePatternResolver resourceResolver=new PathMatchingResourcePatternResolver();
Resource[] resources=resourceResolver.getResources("classpath:mapper/*.xml");//扫描mapper对应的配置文件
sqlSessionFactoryBean.setMapperLocations(resources);
return sqlSessionFactoryBean;
}
}
然后再配置MapperScanner
@Configuration
@AutoConfigureAfter(MyBatis.class)//注意这需要在MyBatis配置生效后才能使用,不然会出现异常
public class MapperScaner {
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
MapperScannerConfigurer mapperScannerConfigurer=new MapperScannerConfigurer();
mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
mapperScannerConfigurer.setBasePackage("com.example.dao");
return mapperScannerConfigurer;
}
}
至此,就完成了传统方式与SpringBoot整合
ps:如有不对,请大佬指出~~