其中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自動配置會自動創建 sqlSessionFactory和SqlSessionTemplate
這個東西 就是 加載在註解了@Mapper的類
如果不喜歡在mapper上面加註解的話,也可以通過@MapperScan
關於事務方面
在啓動類上面添加
@EnableTransactionManagement註解
然後在類上面或者方法上面添加@Transactional註解
二、mybatis-spring方式
這種方式和平常的用法比較接近。需要添加mybatis
依賴和mybatis-spring
依賴。
然後創建一個MyBatisConfig
配置類:
這個配置一定要注意@AutoConfigureAfter(MyBatisConfig.class),必須有這個配置,否則會有異常。原因就是這個類執行的比較早,由於sqlSessionFactory還不存在,後續執行出錯。
做好上面配置以後就可以使用MyBatis了。
https://github.com/abel533/MyBatis-Spring-Boot