Spring Spring mvc mybatis集成

1.JDK的选择

  在官网下载JDK,下载以前版本如图所示:

  此时我选择的是JDK为JDK1.6.0_45

2.tomcat版本的选择

  进入http://www.apache.org/官网选择Tomcat会显示Which version ? 帮助你选择tomcat的版本如图所示

  

  对应选择你所需要的版本

3.msql版本选择

  当你下载下来mysql驱动jar包的时候,进入他们的文档,就可看到,mysql驱动包,支持的版本,如图所示:

  

4.mybatis的选择

  a.  mybatis-spring整合jar包的下载,进入mybatis官网会有mybatis的各种版本的released,

     当然也有 Mybatis-spring的各种版本的released,当时我是点击mybatis-spring-1.2.0-released(其他版本的点进去可能没有下载资源链接),进去页面如图所示:

  

    点击tracker或者maven central repository都可以进入到整合jar包的下载页面,怎么和Spring整合说明文档在官网很容易找到了

    

      写此文章时候mybatis最新版本为3.3.0 ,在官网下载页面的时候可以看到升级说明(Upgrade notes:)为:

--------------------

  b.mybatis配置文件配置

    Mapper元素只有一个属性namespace,它有两个作用:一是用于区分不同的mapper(在不同的mapper文件里,子元素的id可以相同,mybatis通过namespace和子元素的id联合区分),

           二是与接口关联(应用程序通过接口访问mybatis时,mybatis通过接口的完整名称查找对应的mapper配置,因此namespace的命名务必小心一定要某接口同名)。

    一般都会配置一个mybatis-config.xml,这个配置文件配置了,mybatis里边的一些配置信息,例如,module类的别名等等,这个配置文件到最后要配置到


            <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
               <property name="basePackage" value="com.j1.soa.resource.item.daoNew.**"/>
               <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryEx"/>
          </bean>

         <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                <property name="basePackage" value="com.j1.soa.resource.item.daoNew.**"/>
                <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryEx"/>
         </bean>

  c. 使用org.mybatis.spring.mapper.MapperScannerConfigurer 和 <context:property-placeholder 的一点小问题

    因为MapperScannerConigurer实际是在解析加载bean定义阶段的,这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替换定义中的变量,

    导致把表达式当作字符串复制了,解决的办法如下:

    修改为

    原理:使用sqlSessionFactoryBeanName注入,不会立即初始化sqlSessionFactory, 所以不会引发提前初始化问题,同时还应注意在配置org.mybatis.spring.SqlSessionFactoryBean

    这个Bean时,id不能为sqlSessionFactory,如果为这样的话会导致MapperScannerConigurer在bean定义加载时,加载PropertyPlaceholderConfigurer还没来得及替换定义中的变量

   http://www.blogjava.net/ldwblog/archive/2013/07/10/401418.html

原文地址:https://www.cnblogs.com/zhangguangju/p/4927447.html