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

SpringBoot学习记录三、整合MyBatis

2017-11-23 22:32 846 查看

一、前期准备:配置数据源

            我使用的是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:如有不对,请大佬指出~~

         

             

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