被SpringBoot的簡單所折服,與MyBatis集成是如此簡單。
我使用的數(shù)據(jù)庫是MySQL
集成步驟
- 引入mybatis和mysql jdbc驅動的jar包
- 配置數(shù)據(jù)源和Mapper位置
- 代碼中使用mybatis的mapper查詢數(shù)據(jù)庫
一、POM中加入jar引用
引入mybatis的springboot starter
引入mysql最新版的驅動
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
就上面兩個恨溜,其他的不需要
二、配置數(shù)據(jù)源和Mapper位置
Mybatis支持把SQL寫在Java注解中,其實這樣Java代碼會看起來比較亂柑司,所以我還是喜歡把SQL分開放在XML中。 Mapper的XML文件都放在了resources/mappers目錄下锅劝。
# MySQL數(shù)據(jù)源配置
spring.datasource.url=jdbc:mysql://localhost:3306/rcdb?autoReconnect=true&failOverReadOnly=false&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai
spring.datasource.username=rc_user
spring.datasource.password=igYmICMVRX1HnIwt
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 指定Mybatis XML文件夾位置
mybatis.mapper-locations=classpath:mappers/*.xml
mapper的xml文件位置.png
三攒驰、代碼中使用Mapper
Controller中通過@Resource注解注入userMapper, 在login方法中用到userMapper查詢用戶是否存在。
controller中用mapper.png
Controller中使用@Resource注解代替@Autowired注解來注入userMapper. 避免IDEA提示找不到userMapper bean.
上面的登錄代碼還不完善故爵,只為了測試springboot和mybatis的集成玻粪。
Mapper代碼
現(xiàn)在只有一個方法,到數(shù)據(jù)庫中按用戶名查詢用戶诬垂。
mapper代碼.png
mapper的xml
mapper xml代碼.png
就這么簡單
彩蛋 Free MyBatis 插件
實際開發(fā)中mapper會有很多的方法劲室,到對應的xml文件中去找對應的SQL語句是比較繁瑣的。一天要按N多遍 Ctrl + F结窘。一位叫 吳志展 的同行提供了一款 Free MyBatis Plugin, 下載量過百萬痹籍。 安裝之后Mapper方法旁邊出現(xiàn)綠色小箭頭,可以在Mapper方法和XML中快速切換晦鞋。
FreeMyBatisPlugin.png
安裝后重啟IDEA生效
mapper代碼綠色箭頭.png
點擊這個綠色箭頭就可以在Java代碼和XML中快速切換了蹲缠。