精华内容
下载资源
问答
  • ssm框架整合

    2017-02-14 16:16:00
    ssm框架整合
  • SSM框架整合

    2016-07-10 22:14:48
    SSM框架整合
  • SSM 框架整合

    2020-09-27 14:00:26
    目录标题SSM框架整合Spring与mybatis整合的步骤第一种:以纯注解的方式整合注意事项 SSM框架整合 SSM框架整合,就是 Spring框架 + SpringMVC框架 + Mybatis框架 三者的整合 本质就是Spring和mybatis的整合。 ...






    SSM框架整合

    SSM框架整合,就是 Spring框架 + SpringMVC框架 + Mybatis框架 三者的整合
    本质就是Spring和mybatis的整合。

    Spring 框架负责对象创建和管理

    Mybatis框架负责持久层的封装

    SpringMVC框架负责控制层和视图解析


    在Spring中,要整合 mybatis框架,我们的项目需要额外提供两个依赖

    • mybatis 框架的依赖

      <!-- 导入mybatis的依赖-->
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.4.6</version>
      </dependency>
      
    • mybatis-spring 的依赖

      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.2</version>
      </dependency>
      


    Spring与mybatis整合的步骤


    第一种:以纯注解的方式整合

    1. AppConfig.java 中,创建 SqlSessionFactoryBean 对象,并打上**@Bean** 注解。
    
    	/*****
         * Spring 整合 mybatis 框架【纯注解方式】
         * @return
         */
        @Bean
        public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource) {
            SqlSessionFactoryBean sessionFactoryBean =
                                    new SqlSessionFactoryBean();
            //设置属性
            sessionFactoryBean.setDataSource(dataSource);
            //设置全局别名
            sessionFactoryBean.setTypeAliases(new Class[]{Account.class});
    //        sessionFactoryBean.setTypeAliasesPackage("com.hc.entity");  //扫描整个包
            //返回
            return sessionFactoryBean;
        }
        
    

    1. AppConfig.java 中,最上面使用 @MapperScan 注解来扫描指定的Mapper接口所在的包.
    
    @Configuration   //表示这是一个spring 注解配置类
    @ComponentScan({"com.hc.service.impl","com.hc.dao.impl"
                        ,"com.hc.advice"})
    @PropertySource(value = "classpath:db.properties")   //表示读取指定的属性文件,
                            // 并存放在Environment对象中
    @EnableAspectJAutoProxy  //启用 AOP 机制
    @EnableTransactionManagement  //启动Spring框架提供的事务管理制机
    @MapperScan(value="com.hc.mapper")  // 指定映射文件所在的包
    public class AppConfig {
     	//....   
    }
    

    这种方式是最简洁的整合方式,也是推荐给大家的,但是,需要注意的是:

      1. 要求你的mybatis的Mapper接口与xxxMapper.xml 映射文件放在同一个包下面。
      1. 另外,在 xxxMapper.xml 映射文件中,namespace 要写完整的接口类路径。
      1. 最最重要的一点,由于你的 xxxMapper.xml 映射文件是放在 src/main/java 下面,默认情况下,maven是不会把此目录下的非.java文件打包的,所以,我们需要在 pom.xml中,告诉maven,请把.xml文件也要打包,我们要添加如下配置:
           
           <project>
           	...
               <build>
                    <!--
                          maven项目中src/main/java 源代码下的xml等资源文件编译进classes文件夹,
                         注意:如果没有这个,它会自动搜索resources下是否有mapper.xml文件,
                      -->
           		<resources>
                       <resource>
                           <directory>src/main/java</directory>
                           <includes>
                               <include>**/*.xml</include>
                           </includes>
                       </resource>
                       <!--将resources目录下的配置文件编译进classes文件  -->
                       <resource>
                           <directory>src/main/resources</directory>
                       </resource>
                   </resources>
               </build>
           </project>
           
    


    注意事项

    1. 如果我们的xxxMapper.xml 映射文件与 XXXMapper.java 接口不在同一个包下面,而是把xxxMapper.xml 文件单独放在 resources 资源目录下
     这种情况下,我们需要在配置代码中指定 映射文件的位置,如下:
    
           
              	@Bean
                  public SqlSessionFactoryBean sqlSessionFactoryBean(
                                                      @Autowired DataSource dataSource)
                                                                      throws IOException {
                      SqlSessionFactoryBean sessionFactoryBean =
                                              new SqlSessionFactoryBean();
                      //设置属性
                      sessionFactoryBean.setDataSource(dataSource);
                      //设置全局别名
              //        sessionFactoryBean.setTypeAliases(new Class[]{Account.class});
                      sessionFactoryBean.setTypeAliasesPackage("com.hc.entity");  //扫描整个包
              
                      //注:如果你的xxxMapper.xml文件没有放在与 XXXMapper.java 接口放在同一个包下面,则需要在此指定
                      //xxxMapper.xml 映射文件的位置
                      //这个做法只适合读取单一的 .xml 文件
                      //Resource resource = new ClassPathResource("mappers/IAccountMapper.xml");
                      //如果我们提供了 mybatis-config.xml 文件,你也可以在这里去加载它,并设置它
                      //Resource configLocation = new ClassPathResource("mybatis/mybatis-config.xml");
                      //sessionFactoryBean.setConfigLocation(configLocation);
                      //通过对路径的通配读取多个 .xml 文件
                      PathMatchingResourcePatternResolver pmrpr = new PathMatchingResourcePatternResolver();
                      Resource[] resources = pmrpr.getResources("classpath*:mappers/**/*.xml");
                      //
                      sessionFactoryBean.setMapperLocations(resources);
              
                      //返回
                      return sessionFactoryBean;
                  }
                  
    


    第二种:以xml的方式整合(续后)







    到此为止,mybatis与spring的整合就完成。









    Note:
    欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
    知者,感谢您在茫茫人海中阅读了我的文章
    没有个性 哪来的签名!
    详情请关注点我
    持续更新中

    © 2020 09 - Guyu.com | 【版权所有 侵权必究】
    展开全文
  • ssm框架整合项目

    2018-04-19 11:51:37
    ssm框架整合项目 ssm框架整合项目 ssm框架整合项目 ssm框架整合项目

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,723
精华内容 6,289
关键字:

ssm框架整合