最近工做比較忙,好久沒寫博客了,抱歉,之前springboot項目使用的是JPA標準,使用hibernate來實現的,最新心血來潮,試試springboot整合mybatis試試,因而找了官方文檔來進行配置下,下面就是正文了java
先介紹一下開發環境:mysql
首先咱們先引入mybatis的依賴,在項目的pom文件中添加如下內容:spring
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
------------------------------------分割線-------------------------------------sql
引入依賴後,在數據庫執行如下SQL數據庫
create table city (id int primary key auto_increment, name varchar(32), state varchar(32), country varchar(32)); insert into city (name, state, country) values ('BeiJing', 'OFF', 'CN'); 上面是建立表跟插入一條數據,方便咱們測試是否執行apache
而後咱們建立一個mappertomcat
//mapper註解 @Mapper public interface CityMapper { //SQL註解 @Select("SELECT * FROM CITY WHERE state = #{state}") City findByState(@Param("state") String state); }
PS註解描述:springboot
@Mapper 表示這是個mapper,相似之前在xml配置的mapper,只不過這裏使用註解不使用xml而已,若是不是在默認路徑下,還須要配合@MapperScan註解使用,不然會掃描不到@Mapper註解的路徑mybatis
@Select SQL註解,裏面內容是須要執行的SQL,相似註解還有@Update等app
@Param 參數註解,用於SQL參數注入使用
建立好mapper後,咱們須要建立一個映射實體類,用於對象跟表之間的映射,咱們只須要建立一個普通的java對象就行了
public class City { private Long id; private String name; private String state; private String country; .... getterAndsetter }
------------------------------------分割線-------------------------------------
mapper跟model咱們都寫好了,下面咱們配置一下數據庫鏈接等配置,此次咱們使用 properties進行配置,如下下是配置內容(這些內容,你們確定都知道了,就不在寫註釋了),默認使用的數據庫鏈接池是:
org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.url = jdbc:mysql://localhost:3306/springboot spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.max-active=20 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=10 //若是想替換其餘的數據庫鏈接池,增長下面配置就能夠了 #spring.datasource.type= 數據庫鏈接池的包路徑
由於個人mapper沒有在默認的包下,而是在其餘的包下,因此,我這還須要在Applicaction的啓動類上加上@MapperScan註解,代碼以下:
@SpringBootApplication @MapperScan(basePackages = "com.demo.mybatisDemo") public class DemoApplication{ public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
以上基本是全部配置了,下面咱們寫個單元測試來進行測試下吧:
測試代碼以下:
@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest public class MybatisTest { @Autowired private CityMapper cityMapper; private Gson gson = new Gson(); @Test public void mybatisMethod(){ City cn = cityMapper.findByState("CA"); System.out.println(gson.toJson(cn)); } }
而後你會發現執行成功了,表示配置成功了,這是簡單的集成mybatis例子,各位能夠參考這個本身進行配置
如下是官方的例子,若是有興趣的同窗,能夠經過鏈接本身查看一下
PS:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
到這,文章就結束了!
以上,均爲本人測試而得出的結果,可能會有出入,或者錯誤,歡迎指正
歡迎轉載,請註明出處跟做者,謝謝!