Spring-Boot整合mybatis(一),使用默認的數據庫鏈接池

最近工做比較忙,好久沒寫博客了,抱歉,之前springboot項目使用的是JPA標準,使用hibernate來實現的,最新心血來潮,試試springboot整合mybatis試試,因而找了官方文檔來進行配置下,下面就是正文了java

 

先介紹一下開發環境:mysql

  1. jdk版本是1.8
  2. springboot的版本是1.4.1
  3. 開發工具爲 intellij idea

 

首先咱們先引入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/

 

到這,文章就結束了!

以上,均爲本人測試而得出的結果,可能會有出入,或者錯誤,歡迎指正

歡迎轉載,請註明出處跟做者,謝謝!

相關文章
相關標籤/搜索