1、Mybatis的Demo級別項目總結

1.要使用Mybatis,首先須要構建一個SqlSessionFactory實例,SqlSessionFactory實例依賴於SqlSessionFactoryBuilder來建立,SqlSessionFactoryBuilder能夠經過XML文件(也就是Mybatis全局配置文件),構造出SqlSessionFactory實例。程序員

2.在建立好SqlSessionFactory實例後,咱們對數據庫的操做,是基於SqlSession實例的。咱們能夠從SqlSessionFactory取出SqlSession,SqlSession包含了全部的面向數據庫執行 SQL 命令所需的全部方法。這裏須要注意一點:SqlSession實例是非線程安全的,所以不能做爲成員變量或者類變量,最好的做用域是請求做用域,或者方法做用域。舉個例子:若是SqlSession的做用域是實例變量,在多線程單實例的環境下,多線程競爭同一個SqlSession實例資源,就會引發問題。sql

3.咱們通常採用面向接口編程,那麼須要將接口與映射SQL的XML綁定,綁定後,Mybatis會生成接口的代理對象,對程序員來講,咱們不知道這是個代理,咱們也不須要本身寫接口的實現類,直接就能夠操做代理對象,執行SQL了。數據庫

4.使用接口與XML動態綁定的好處:編程

    調用方法明確,一目瞭然,而使用sqlSession.select(全類名.方法名, Object object)太不直觀了;安全

    接口中的方法有入參類型限制,代碼編譯時就能確保傳入的參數類型是正確的;多線程

    若是不使用接口綁定,咱們就須要使用命名空間來確保執行正確的sql,但是命名空間通常來講很長,並且容易變更;ui

    最主要的一點,就是未來Mybatis遇到了Spring,更能發揮出接口式編程的強大潛力線程

相關文章
相關標籤/搜索