MyBatis 实际使用案例-编程式使用
大部分時候,我們都是在Spring 里面去集成MyBatis。因為Spring 對MyBatis 的一些操作進行的封裝,我們不能直接看到它的本質,所以先看下不使用容器的時候,也就是編程的方式,MyBatis 怎么使用。
先引入mybatis jar 包。
首先我們要創(chuàng)建一個全局配置文件,這里面是對MyBatis 的核心行為的控制,比如mybatis-config.xml。
第二個就是我們的映射器文件,Mapper.xml,通常來說一張表對應一個,我們會在這個里面配置我們增刪改查的SQL 語句,以及參數(shù)和返回的結果集的映射關系。
跟JDBC 的代碼一樣,我們要執(zhí)行對數(shù)據庫的操作,必須創(chuàng)建一個會話,這個在MyBatis 里面就是SqlSession。SqlSession 又是工廠類根據全局配置文件創(chuàng)建的。所以整個的流程就是這樣的(如下代碼)。最后我們通過SqlSession 接口上的方法,傳入我們的Statement ID 來執(zhí)行SQL。這是第一種方式。
這種方式有一個明顯的缺點,就是會對Statement ID 硬編碼,而且不能在編譯時進行類型檢查,所以通常我們會使用第二種方式,就是定義一個Mapper 接口的方式。這個接口全路徑必須跟Mapper.xml 里面的namespace 對應起來,方法也要跟StatementID 一一對應。
public void testMapper() throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = newSqlSessionFactoryBuilder().build(inputStream);SqlSession session = sqlSessionFactory.openSession();try {BlogMapper mapper = session.getMapper(BlogMapper.class);Blog blog = mapper.selectBlogById(1);System.out.println(blog);} finally {session.close();} }這個就是我們單獨使用MyBatis 的全部流程。
這個案例非常重要,后面我們講源碼還是基于它。
?
總結
以上是生活随笔為你收集整理的MyBatis 实际使用案例-编程式使用的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 为什么要用MyBatis-MyBatis
- 下一篇: MyBatis 实际使用案例-核心对象的
