• SSM框架中mapper和mapping.xml文件在同一个包下需要的配置


    前言

    当我们在开发过程中,由于maven项目本身的限制,我们不能直接把我们的mapper.xml文件和对应mapper.java接口文件放到一起,也就是不能直接放在java包中,如图:

     因为maven项目在构建打包时,会从src/main/java中获取所有的java文件然后编译,会从src/main/resources中获取配置文件等其它文件,然后打包,

    所以尽管你在Spring整合Mybatis时配置也好,在Mybatis单独的配置文件中配置也好,都是会出错的:

    <!--配置SqlSessionFactory工厂-->
        <bean id="sqlSessonFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <!-- 扫描sql配置文件:mapper需要的xml文件 -->
            <property name="mapperLocations" value="classpath*:com/ssm/mapper/mapping/*.xml" />
        </bean>
        <!--配置mapper接口所在包-->
        <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.ssm.mapper"/>
        </bean>

    都是不会成功的!

    方法:

    这个时候你可以改变一下maven在打包时的配置就可以实现了:

    pom.xml文件中添加配置:

    <!--插件配置-->
        <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <!--包含了src/main/java目录下的所有xml资源配置文件-->
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <!--包含了src/main/resources目录下的所有资源配置文件,有别的格式的配置文件时,不要写成**/*.xml-->
                        <include>**/*</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
            </resources>
        </build>

    这个时候你就可以成功配置了!

    附录:

    感谢以下博客:

    https://blog.csdn.net/qq_38727626/article/details/81431522

    还有就是:

    其实下面这篇博客写的也挺好,但是我发生报错,就是你的resources目录下的文件可能会出问题,

    https://blog.csdn.net/weixin_30820077/article/details/97407662

     
  • 相关阅读:
    java常用类库
    汇编子程序使用
    Flsk&pyecharts 动态数据可视化
    2019年全国高校计算机能力挑战赛初赛C++语言解答
    搞定vscode编写java(手把手篇)
    搞定vscode编写java
    2019年全国高校计算机能力挑战赛初赛java语言解答
    Java大数类 BigInteger
    2019年全国高校计算机能力挑战赛初赛C语言解答
    二叉搜索树BST(C语言实现可用)
  • 原文地址:https://www.cnblogs.com/Anxc/p/12066928.html
Copyright © 2020-2023  润新知