mybatis簡單搭建

背景

  閒來沒事把mybatis再熟悉一下,可能以前本身搭過沒有記錄。mybatis其實就是一個orm框架,在咱們以前作.net工做的時候,咱們的ef,dapper等都是這樣的框架,java如今web流行的就是ssm框架,Spring+SpringMVC+Mybatis。今天我要搭的只是mybatis的一個小demo。html

正文

  選擇mybatis的版本,我下載了一個 3.4.4的版本。而後打開官網 www.mybatis.org/mybatis-3。java

  官網說的很清楚,若是你是用的Maven那麼直接把web

  <dependency>面試

  <groupId>org.mybatis</groupId>    sql

   <artifactId>mybatis</artifactId>   mybatis

  <version>x.x.x</version>  app

  </dependency>
框架

  複製到你的pom.xml中,我是直接加載的jar包,mybatis的jar包和lib中的jar包。ok,看着官網走吧。單元測試

  一、配置你的環境數據源配置文件,也就是一個環境加載數據的地方。直接拿來官網的,environment中的配置信息就是當初咱們的jdbc的配置信息。mappers節點,一看是加了s的那麼說明會有多個mapper沒錯就是這樣的。咱們這裏只是作一個demo,用一個表。測試

  

  二、接下來就是要配置sql了的配置文件了,也就是咱們的mapper。此次我直接截圖個人demo中的配置。首相是namespace,這個就是一個命名空間,必需要惟一的。其中裏面的節點select做爲查詢,insert固然就是插入了,你們一看就明白了。至於裏面的節點怎麼寫的,能夠直接看官網,說的很明白。

    

  三、兩個文件都有了,那麼怎麼合併,其實就在在第一個配置文件的mappers中添加一個mapper而後將sql的配置地址複製給它就ok了。其實裏面還有不少的屬性,http://www.mybatis.org/mybatis-3/configuration.html#mappers  官網這裏會詳細介紹。這裏咱們用的是resource屬性。

  四、接下來就是開始代碼的工做了。我將單元測試jar導入進來,建立一個class用來寫測試方法。這裏我只寫了一個查詢一個插入。

    ->String resource = "org/mybatis/example/mybatis-config.xml";

      InputStream inputStream = Resources.getResourceAsStream(resource);

      SqlSessionFactory sqlSessionFactory =                             new SqlSessionFactoryBuilder().build(inputStream);
      
      官網的代碼,這是咱們的第一步。也就是獲取咱們須要的會話工廠,接下來就是建立會話。
    
      
   ->  openSession = ssf.openSession();

     List<Student> list = openSession.selectList("studentsManager.selectStudents", "李四");

      list.forEach(System.out::println);

      open會話開始,selectList是查詢集合的方法,第一個參數是咱們mapper具體的執行塊,第二參數是我傳遞的查詢參數。這樣直接就能夠查出來了。
      這個查詢,那麼看一下插入。插入也是這個過程只不過在插入以後要有點變更。也就是插入是一個事務維護的,若是插入失敗是須要回滾的,只有插入成功纔會去提交。
      

      int update = openSession.insert("studentsManager.insertStudent", new Student("lili", "數學", 77.3f));
      if(update>0)
      {
        openSession.commit();
      }
      else
      {
        openSession.rollback();
      }

 

 

總結

  這陣子再面試中,我以爲面試是一個技巧,可能本身缺少面試技巧。短短的幾十分鐘內,或者一兩小時內,若是讓面試官認識到本身的價值。是須要必定的能力的,我會努力。目前正在尋找java開發,大數據開發,若有須要請與我聯繫。

  沒有停滯不前,只有退步與進步。

相關文章
相關標籤/搜索