SpringBoot经典入门——整合MyBatis和Junit

随着微服务的遍地开花,SpringBoot成了框架中的一颗耀眼明星。在还没有接触SpringBoot的一段时间内,一直认为Spring已经是和轻量级的框架, 即使编程过程中需要配置的内容比较繁琐,但也是使用一段时间后才会有的感触。就像ecplise的出现扼杀了netBeans,IDEA的出现也撼动了ecplise的霸主地位。新的事物或者方式方法出现体现了行业的活力,也使从业者能不断注入新鲜的血液,更能适行业的发展。以下是学习的过程中,其实写博客更像是一种学习笔记吧。

  • Springboot经典入门——踏进去的第一脚(基本概念及入门案例)
  • Springboot经典入门——刨根问底(起步依赖和自动配置原理分析)
  • Springboot经典入门——配置文件解读
  • Springboot经典入门——整合mybatis和Junit

在学习了基础的配置之后,下面就是真正的实战整合技术,先来整合mybatis

一、新建项目

idea提供了Spring lnitiaizr来直接创建Springboot项目

1、新建项目

SpringBoot经典入门——整合MyBatis和Junit_第1张图片

 2、设置项目基本信息

SpringBoot经典入门——整合MyBatis和Junit_第2张图片

 3、选择新建项目类型

SpringBoot经典入门——整合MyBatis和Junit_第3张图片

4、选择项目信息

5、完成

SpringBoot经典入门——整合MyBatis和Junit_第4张图片

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

整合MyBatis

1、添加mybatis和数据库驱动依赖,数据库使用mysql

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.1.1
        
        
        
            mysql
            mysql-connector-java
        

 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 queryAllCity();

}

 

Mapper映射文件;CityMapper.xml





    
    

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 queryAllCity(){
        List cities = cityMapper.queryAllCity();
        return cities;
    }
}

结果:

SpringBoot经典入门——整合MyBatis和Junit_第5张图片

整合Junit

1、添加启动依赖

        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

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 cities = cityMapper.queryAllCity();
        for (int i = 0; i < cities.size(); i++) {
            System.out.println(cities.get(i).getId()+"="+cities.get(i).getName());
        }
    }

}

3、运行结果:

SpringBoot经典入门——整合MyBatis和Junit_第6张图片

 

你可能感兴趣的:(SpringBoot)