Talk is cheap, show me the code!java
public class TestMybatis { public static void main(String[] args) throws IOException { //1. 读取配置文件 InputStream resource = Resources.getResourceAsStream("mybatis.xml"); //2. 建立sqlSessionFactory工厂 SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = Builder.build(resource); //3. 使用工厂模式建立sqlSession对象 SqlSession sqlSession = factory.openSession(); //4. 使用sqlSession对象建立mapper(Dao接口)的代理对象 ItemsMapper mapper = sqlSession.getMapper(ItemsMapper.class); //5. 使用代理对象执行方法 List<Items> items = mapper.selectAll(); for (Items item : items) { System.out.println(item); } //6. 释放资源 sqlSession.close(); resource.close(); } }
以上这段mybatis的入门案例代码,相信每个了解mybatis的朋友都能看得懂,知码酱同窗今天也细细品了品!linux
项目的路径问题 : Resources.getResourceAsStream("mybatis.xml");
在实际的项目中,并不推荐众所周知的相对路径和绝对路径。web
src/main/java/xxx.xml
web应用是须要部署到服务器上的,一旦部署,项目的路径就会发生改变,而后。。。。一堆404;F:/project/xxx/xxx.xml
要知道,服务器可不必定有咱们的F盘,何况推荐使用linux系统的服务器;
使用构建者模式建立SqlSessionFactory对象spring
SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = Builder.build(resource);
使用==工厂模式==建立SqlSession对象sql
SqlSession sqlSession = factory.openSession();
使用==代理模式==建立了mapper(Dao)接口的实现类
java ItemsMapper mapper = sqlSession.getMapper(ItemsMapper.class);
设计模式
总结:这篇文章的出发点是浅显易懂的理解mybatis入门案例中的设计模式和使用路径时应该注意的问题,虽而后续学习spring的时候,这些内容也会被隐藏,但目的是为了理解mybatis设计的独具匠心,关于设计模式的深层次理解,还须要咱们多读一写其余的相关文章,多推敲设计模式的代码!服务器