Mój Batis

Mój Batis
Deweloperzy Zespół MyBatis
Wersja stabilna
3.5.10 / 23 maja 2022 ; 9 miesięcy temu ( 23.05.2022 )
Magazyn
Napisane w Jawa
System operacyjny Międzyplatformowe
Typ Struktura trwałości
Licencja Licencja Apache 2.0
Strona internetowa www.mybatis.org _ _  Edit this on Wikidata

MyBatis to platforma trwałości Java , która łączy obiekty z procedurami składowanymi lub instrukcjami SQL za pomocą deskryptora XML lub adnotacji.

MyBatis to darmowe oprogramowanie rozpowszechniane na licencji Apache 2.0.

MyBatis jest rozwidleniem iBATIS 3.0 i jest utrzymywany przez zespół, w skład którego wchodzą oryginalni twórcy iBATIS .

Podsumowanie funkcji

W przeciwieństwie do frameworków ORM , MyBatis nie odwzorowuje obiektów Java na tabele bazy danych , ale metody Java na instrukcje SQL .

MyBatis umożliwia korzystanie ze wszystkich funkcji bazy danych, takich jak procedury składowane, widoki , zapytania o dowolnej złożoności i własności dostawców. Często jest to dobry wybór w przypadku starszych lub nieznormalizowanych baz danych lub w celu uzyskania pełnej kontroli nad wykonywaniem SQL.

Upraszcza kodowanie w porównaniu do JDBC . Instrukcje SQL są wykonywane w jednej linii.

MyBatis zapewnia mechanizm mapowania, który mapuje wyniki SQL na drzewa obiektów w sposób deklaratywny.

Instrukcje SQL mogą być budowane dynamicznie przy użyciu wbudowanego języka o składni podobnej do XML lub z Apache Velocity przy użyciu wtyczki integracyjnej Velocity.

MyBatis integruje się z Spring Framework i Google Guice . Ta cecha pozwala na budowanie kodu biznesowego wolnego od zależności.

MyBatis obsługuje deklaratywne buforowanie danych. Instrukcję można oznaczyć jako buforowalną, więc wszelkie dane pobrane z bazy danych będą przechowywane w pamięci podręcznej, a przyszłe wykonania tej instrukcji będą pobierać dane z pamięci podręcznej zamiast trafiać do bazy danych. MyBatis zapewnia domyślną implementację pamięci podręcznej opartą na Javie HashMap i domyślnych konektorach do integracji z: OSCache, Ehcache , Hazelcast i Memcached . Zapewnia interfejs API do podłączania innych implementacji pamięci podręcznej.

Stosowanie

Instrukcje SQL są przechowywane w plikach XML lub adnotacjach. Poniżej przedstawiono mapowanie MyBatis, które składa się z interfejsu Java z kilkoma adnotacjami MyBatis:

 

   
    
      
 pakiet  org.mybatis.example  ;  interfejs  publiczny  BlogMapper  {  @Select  (  „wybierz * z bloga, gdzie id = #{id}”  )  Blog  wybierzBlog  (  identyfikator  int  );  } 

Wyrok jest wykonywany w następujący sposób.

   
    Program mapujący  BlogMapper  =  sesja  .  getMapper  (  BlogMapper  .  klasa  );  Blog  blog  =  twórca map  .  wybierzBlog  (  101  ); 

Instrukcje SQL i odwzorowania można również przenieść do pliku XML w następujący sposób.



 
       
    
 <?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis -3-mapper.dtd">  <mapper  namespace=  "org.mybatis.example.BlogMapper"  >  <select  id=  "selectBlog"  parametrType=  "int"  resultType=  "Blog"  >  wybierz * z Bloga, gdzie id =  #{  id  }  </select>  </mapper> 

Instrukcje można również wykonywać za pomocą interfejsu API MyBatis.

     Blog  blog  =  sesja  .  selectOne  (  "org.mybatis.example.BlogMapper.selectBlog"  ,  101  ); 

Aby uzyskać szczegółowe informacje, zapoznaj się z Podręcznikiem użytkownika dostępnym na stronie MyBatis. Zobacz linki zewnętrzne.

Wiosenna integracja

MyBatis integruje się z Spring Framework . Ten moduł pozwala MyBatis uczestniczyć w transakcjach wiosennych. Zbuduje również mapery i sesje MyBatis oraz wstrzyknie je do innych komponentów bean.

Poniższy przykład przedstawia podstawową konfigurację XML, która konfiguruje element odwzorowujący i wstrzykuje go do komponentu bean „BlogService”.

  
       


  
       
     <bean  id=  "sqlSessionFactory"  class=  "org.mybatis.spring.SqlSessionFactoryBean"  >  <property  name=  "dataSource"  ref=  "dataSource"  />  </bean>  <bean  id=  "blogMapper"  class=  "org.mybatis .spring.mapper.MapperFactoryBean"  >  <  nazwa właściwości =  "sqlSessionFactory"  ref =  "sqlSessionFactory"  />  <właściwość    


  
       
 name=  "mapperInterface"  value=  "org.mybatis.example.BlogMapper"  />  </bean>  <bean  id=  "blogService"  class=  "org.mybatis.example.BlogServiceImpl"  >  <property  name=  "blogMapper"  ref=  "blogMapper"  />  </bean> 

Dzwonienie do MyBatis to teraz tylko dzwonienie do fasoli:

     

      

        
          
    

        
            klasa  publiczna  BlogServiceImpl  implementuje  usługę BlogService  {  private  BlogMapper  blogMapper  ;  public  void  setBlogMapper  (  BlogMapper  blogMapper  )  {  to  .  blogMapper  =  blogMapper  ;  }  public  void  doSomethingWithABlog  (  int  blogId  )  {  Blog  blog  =  blogMapper  .  wybierz Blog 
        
    
 (  identyfikator bloga  );  ...  }  } 

Język prędkości

Sterownik języka Velocity pozwala używać Apache Velocity do generowania dynamicznych zapytań SQL w locie.

  
         <  select  id  =  "findPerson"  lang  =  "velocity"  >  #  set  (  $  pattern  =  $  _parameter  .  name  +  '%'  )  SELECT * FROM person WHERE name LIKE @  {  pattern, jdbcType=VARCHAR}  </  select  > 

Generator MyBatis

MyBatis zapewnia generator kodu. Generator MyBatis przeprowadzi introspekcję tabeli bazy danych (lub wielu tabel) i wygeneruje artefakty MyBatis potrzebne do wykonywania CRUD (Create, Retrieve, Update, Delete).

wtyczka Eclipse .

Zachowa każdy niestandardowy kod w przypadku regeneracji, ale tylko wtedy, gdy użyjesz wtyczki Eclipse.

Migracje MyBatis

narzędzie wiersza poleceń Java , które śledzi zmiany schematu bazy danych, zarządzając plikami DDL (znane jako migracje ).

Migracje umożliwiają sprawdzenie aktualnego stanu bazy danych, zastosowanie zmian w schemacie, a także ich cofnięcie. Pomaga również wykrywać i rozwiązywać współbieżne zmiany schematu bazy danych wprowadzane przez różnych programistów.

Historia

Projekt MyBatis jest filią iBATIS 3.0 i jest utrzymywany przez zespół, który obejmuje oryginalnych twórców iBATIS.

Projekt powstał 19 maja 2010 r., kiedy opublikowano Apache iBATIS 3.0, a zespół ogłosił, że rozwój będzie kontynuowany pod nową nazwą i nowym domem w Google Code.

Zobacz też

Linki zewnętrzne