zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    goland设置goproxy是参数时Environment时的设置方法
    /etc/selinux/config模式修改
    python_matplotlib_中文字体
    tmux_server_version_is_too_old
    linux_shell_生成随机整数
    newifi_D2_新3_lede_扩容overlay_装可道云
    RSA.js_公钥加密_NoPadding_golang实现_n_e_pem格式互转
    python_matplotlib_Axisartist_作图_多个Y轴共用X轴
    @JsonProperty注解使用详解
    Filter中抛出异常@RestControllerAdvice注解无法捕获的问题
  • 原文地址:https://www.cnblogs.com/zhangguangju/p/4927447.html
Copyright © 2011-2022 走看看