Spring Boot 集成MyBatis

mybatis-spring-boot-starter依賴樹如下: 




其中mybatis使用的3.3.0版本,可以通過: 
<mybatis.version>3.3.0</mybatis.version>屬性修改默認版本。 
mybatis-spring使用版本1.2.3,可以通過: 

<mybatis-spring.version>1.2.3</mybatis-spring.version>修改默認版本。


application.yml中增加配置:

mybatis: 
  mapperLocations: classpath:mapper/*.xml
  typeAliasesPackage: tk.mapper.model 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

除了上面常見的兩項配置,還有:

  • mybatis.config:mybatis-config.xml配置文件的路徑
  • mybatis.typeHandlersPackage:掃描typeHandlers的包
  • mybatis.checkConfigLocation:檢查配置文件是否存在
  • mybatis.executorType:設置執行模式(SIMPLE, REUSE, BATCH),默認爲SIMPLE

MybatisAutoConfiguration

Spring boot 在運行的時候會進行自動配置

讀取到 mybatis-spring-boot-autoconfigure 裏面的spring.factories,然後自動配置

就是下面這個類


這個方法使用了PostConstruct註解,在初始化的時候去加載mybatis的配置文件,然後創建SqlSessionFactory



Mybatis自動配置會自動創建 sqlSessionFactorySqlSessionTemplate


這個東西 就是 加載在註解了@Mapper的類

如果不喜歡在mapper上面加註解的話,也可以通過@MapperScan


關於事務方面

在啓動類上面添加

@EnableTransactionManagement註解

然後在類上面或者方法上面添加@Transactional註解

二、mybatis-spring方式

這種方式和平常的用法比較接近。需要添加mybatis依賴和mybatis-spring依賴。

然後創建一個MyBatisConfig配置類:

然後創建一個MyBatisConfig配置類:

這個配置一定要注意@AutoConfigureAfter(MyBatisConfig.class),必須有這個配置,否則會有異常。原因就是這個類執行的比較早,由於sqlSessionFactory還不存在,後續執行出錯。


做好上面配置以後就可以使用MyBatis了。

https://github.com/abel533/MyBatis-Spring-Boot

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章