參考: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檔案下。