SpringBoot学习记录三、整合MyBatis

来源:互联网 发布:如何申请网址域名 编辑:程序博客网 时间:2024/06/06 02:10

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

            我使用的是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/test2spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.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注解:

@Mapperpublic 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的配置

@Configurationpublic 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:如有不对,请大佬指出~~
         
             

 

原创粉丝点击