MyBatis配置报错java.io.IOException: Could not find resource mybatis-conf.xml

来源:互联网 发布:淘宝5元店铺红包怎么用 编辑:程序博客网 时间:2024/05/19 13:15

参考:http://blog.csdn.net/u010648555/article/details/70880425


本人用的也是IDEA,maven搭建的项目。

项目目录如下:


import bean.User;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;/** * Created by david on 17-7-9. */public class test {    public static void main(String args[]){        SqlSessionFactory sqlSessionFactory = null;        //NyBatis的配置文件        String resource = "mybatis-conf.xml";        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)        try {            InputStream is = Resources.getResourceAsStream(resource);            sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);            //创建能执行映射文件中sql的sqlSession            SqlSession session = sqlSessionFactory.openSession();            User user = session.selectOne("mapping.userMapper.getUser",1);            System.out.println(user);        } catch (IOException e) {            e.printStackTrace();        }    }}


执行之后报错: java.io.IOException: Could not find resource mybatis-conf.xml

原因:

IDEA是不会编译src的Java目录的xml文件,所以在Mybatis的配置文件中找不到xml文件!(也有可能是Maven构建项目的问题,网上教程很多项目是普通的java web项目,所以可以放到src下面也能读取到)

解决办法:

第一种:

在maven的pom.xml中添加:

<build>            <resources>                <resource>                    <directory>src/main/java</directory>                    <includes>                        <include>**/*.xml</include>                    </includes>                </resource>            </resources>        </build>

第二种:

将mybatis-conf.xml与userMapper.xml移动到resources文件下。

阅读全文
0 0