SpringBoot經典入門——整合MyBatis和Junit

隨着微服務的遍地開花,SpringBoot成了框架中的一顆耀眼明星。在還沒有接觸SpringBoot的一段時間內,一直認爲Spring已經是和輕量級的框架, 即使編程過程中需要配置的內容比較繁瑣,但也是使用一段時間後纔會有的感觸。就像ecplise的出現扼殺了netBeans,IDEA的出現也撼動了ecplise的霸主地位。新的事物或者方式方法出現體現了行業的活力,也使從業者能不斷注入新鮮的血液,更能適行業的發展。以下是學習的過程中,其實寫博客更像是一種學習筆記吧。

在學習了基礎的配置之後,下面就是真正的實戰整合技術,先來整合mybatis

一、新建項目

idea提供了Spring lnitiaizr來直接創建Springboot項目

1、新建項目

 2、設置項目基本信息

 3、選擇新建項目類型

4、選擇項目信息

5、完成

 首次使用會下載maven的插件,修改maven中setting即可。

整合MyBatis

1、添加mybatis和數據庫驅動依賴,數據庫使用mysql

        <!--mybatis起步依賴-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- MySQL連接驅動 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

 2、在\springboot_mybatis\src\main\resources\application.properties配置文件中配置數據庫信息

#DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?
useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

3、建立數據庫表及數據

DROP TABLE IF EXISTS `city`;
CREATE TABLE `city` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

INSERT INTO `city` VALUES ('1', 'beijing');
INSERT INTO `city` VALUES ('2', 'shanghai');

4、編寫MyBatis映射bean,Mapper映射文件及方法接口

bean

/**
 * 城市信息bean
 */
public class City {
    
    //ID
    private Integer id;
    //名稱
    private String name;

    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

編寫Mapper接口:CityMapper

package com.test.mapper;

import com.test.bean.City;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface CityMapper {

    public List<City> queryAllCity();

}

 

Mapper映射文件;CityMapper.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--mapper接口路徑-->
<maper namespace="com.test.mapper.CityMapper">
    <!--id表示接口中的方法,resultType表示接收數據格式-->
    <select id="queryAllCity" resultType="city">
        select * from city
    </select>
</mapper>

5、SpringBoot關聯MyBatis :在\springboot_mybatis\src\main\resources\application.properties集成MyBatis配置

#映射bean別名掃描包
mybatis.type-aliases-package=com.test.bean
#加載Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

6、編寫測試類

import java.util.List;

@Controller
public class CityQueryController {

    @Autowired
    private CityMapper cityMapper;

    @RequestMapping("queryCity")
    @ResponseBody
    public List<City> queryAllCity(){
        List<City> cities = cityMapper.queryAllCity();
        return cities;
    }
}

結果:

整合Junit

1、添加啓動依賴

        <!--web的啓動依賴測試-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

2、編寫測試類:代碼很簡單,着重注意幾個註解。

package com.test;

import com.test.bean.City;
import com.test.mapper.CityMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootMybatisApplication.class)
public class SpringbootMybatisApplicationTests {

    @Autowired
    private CityMapper cityMapper;
    @Test
    public void test(){
        List<City> cities = cityMapper.queryAllCity();
        for (int i = 0; i < cities.size(); i++) {
            System.out.println(cities.get(i).getId()+"="+cities.get(i).getName());
        }
    }

}

3、運行結果:

 

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