• 整合使用持久层框架mybatis 使用SqlSessionTemplate模板类与使用映射接口 对比


    spring中整合使用mybatis的用法总结

    一:在Spring配置Mybatis

    第一步:将mybatis-spring类包添加 到项目的类库中

    第二步:编写spring和持久层衔接的xml文件,这里起名为spring-dao.xml

    1.  
      <!-- 3:配置SqlSessionFactory对象 -->
    2.  
      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> ①
    3.  
      <!-- 注入数据库连接池 -->
    4.  
      <property name="dataSource" ref="dataSource"/>
    5.  
      <!-- 配置MyBatis全局配置文件:mybatis-config.xml -->
    6.  
      <property name="configLocation" value="classpath:mybatis-config.xml"/>②
    7.  
      <!-- 扫描entity包 使用别名 -->
    8.  
      <property name="typeAliasesPackage" value=""/>
    9.  
      <!-- 扫描sql配置文件:mapper需要的xml文件 -->
    10.  
      <property name="mapperLocations" value="classpath:mapper/*.xml"/> ③
    11.  
      </bean>

    mybatis-spring 类包提供了SqlSessionFactoryBean,以便通过Spring风格创建mybatis的SqlSessionFactory,如①所示。只需要注入数据源并指定mybatis的总配置文件就可以了,如②所示。 mapperLocations属性支持扫描式加载sql映射文件。

    二:编写myBatis中的dao

    第一种方法:使用SqlSessionTemplate模板类

    1.  
      mybatis-spring效仿spring的风格提供了一个模板类SqlSessionTemplate,可以通过模板类轻松访问数据库
    2.  
      但是这种方法使用字符串指定映射项,容易引起错误,因为字符串本身没有语义性,如果存在编写错误,编译器无法识别,只能在运行期发现。

    第二种方法:使用映射接口

    接口的名称和映射命名空间相同,接口方法和映射基的id相同

    第一步:在spring-dao.xml中添加配置

    1.  
      <!-- 4:配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中-->
    2.  
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    3.  
      <!-- 注入sqlSessionFactory -->
    4.  
      <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    5.  
      <!-- 给出需要扫描Dao接口包 -->
    6.  
      <property name="basePackage" value=""/>
    7.  
      </bean>

    MapperScannerConfigurer将扫描basePackage所指定的包下的所有的接口类(包括子包),如果它们在sql映射文件中定义过,则将它们动态定义为Spring Bean,这样我们就可以在Service中直接注入映射接口的bean了。

  • 相关阅读:
    DGbroker三种保护模式的切换
    oracle11G使用DGbroker创建dg
    oracle数据泵示例
    oracle DB_LINK
    oracle数据库rman备份计划及恢复
    oracle查看对象信息
    mybatis学习:mybatis的注解开发和编写dao实现类的方式入门
    mybatis学习:mybatis的环境搭建与入门
    mybatis框架学习:
    入门servlet:request请求转发和共享数据
  • 原文地址:https://www.cnblogs.com/lykbk/p/sdfsfsssff345435345345345.html
Copyright © 2020-2023  润新知